All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:35,1
    - Dst: va_start
      Src: /src/rtpproxy/libucl/libucl_test.c:36,1
    - Dst: vfprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:37,1
    - Dst: va_end
      Src: /src/rtpproxy/libucl/libucl_test.c:38,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:39,1
    - Dst: fflush
      Src: /src/rtpproxy/libucl/libucl_test.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - self
    - fname
    - lnum
    - level
    - fmt
    argTypes:
    - struct rtpp_log*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: rtpp_log_obj_write_early
    functionSourceFile: /src/rtpproxy/libucl/libucl_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - va_start
    - fflush
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void rtpp_log_obj_write_early(struct rtpp_log *self, const char *fname,
      int lnum,\n  int level, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:50,1
    - Dst: va_start
      Src: /src/rtpproxy/libucl/libucl_test.c:51,1
    - Dst: vfprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:52,1
    - Dst: va_end
      Src: /src/rtpproxy/libucl/libucl_test.c:53,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:54,1
    - Dst: strerror
      Src: /src/rtpproxy/libucl/libucl_test.c:54,1
    - Dst: fflush
      Src: /src/rtpproxy/libucl/libucl_test.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - self
    - fname
    - lnum
    - level
    - fmt
    argTypes:
    - struct rtpp_log*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: rtpp_log_obj_ewrite_early
    functionSourceFile: /src/rtpproxy/libucl/libucl_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - va_start
    - strerror
    - fflush
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void rtpp_log_obj_ewrite_early(struct rtpp_log *self, const char *fname,
      int lnum,\n  int level, const char *fmt, ...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/libucl/libucl_test.c:72,1
    - Dst: memset
      Src: /src/rtpproxy/libucl/libucl_test.c:76,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/libucl/libucl_test.c:78,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/libucl/libucl_test.c:79,1
    - Dst: printf
      Src: /src/rtpproxy/libucl/libucl_test.c:80,1
    - Dst: ucl_object_find_key
      Src: /src/rtpproxy/libucl/libucl_test.c:81,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:83,1
    - Dst: conf_helper_mapper
      Src: /src/rtpproxy/libucl/libucl_test.c:88,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:90,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:93,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:95,1
    - Dst: free
      Src: /src/rtpproxy/libucl/libucl_test.c:102,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/libucl/libucl_test.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 1
    argNames:
    - wop
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: parse_modules
    functionSourceFile: /src/rtpproxy/libucl/libucl_test.c
    functionUses: 0
    functionsReached:
    - free
    - ucl_object_iterate_new
    - fprintf
    - ucl_object_key
    - ucl_object_iterate_free
    - conf_helper_mapper
    - printf
    - ucl_object_iterate_safe
    - memset
    - ucl_object_find_key
    linkageType: ''
    returnType: int
    signature: int parse_modules(const ucl_object_t *wop)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_MEMDEB_INIT
      Src: /src/rtpproxy/libucl/libucl_test.c:121,1
    - Dst: RTPP_MEMDEB_INIT1
      Src: /src/rtpproxy/libucl/libucl_test.c:122,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:131,1
    - Dst: open
      Src: /src/rtpproxy/libucl/libucl_test.c:135,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:137,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/libucl/libucl_test.c:142,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:144,1
    - Dst: ucl_parser_add_fd
      Src: /src/rtpproxy/libucl/libucl_test.c:149,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/libucl/libucl_test.c:150,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:152,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/libucl/libucl_test.c:156,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:157,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/libucl/libucl_test.c:157,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/libucl/libucl_test.c:162,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:164,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/libucl/libucl_test.c:168,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/libucl/libucl_test.c:169,1
    - Dst: printf
      Src: /src/rtpproxy/libucl/libucl_test.c:170,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/libucl/libucl_test.c:171,1
    - Dst: parse_modules
      Src: /src/rtpproxy/libucl/libucl_test.c:172,1
    - Dst: fprintf
      Src: /src/rtpproxy/libucl/libucl_test.c:173,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/libucl/libucl_test.c:180,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/libucl/libucl_test.c:182,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/libucl/libucl_test.c:184,1
    - Dst: close
      Src: /src/rtpproxy/libucl/libucl_test.c:186,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/libucl/libucl_test.c:188,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/libucl/libucl_test.c:188,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/rtpproxy/libucl/libucl_test.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_object_iterate_safe
    - RTPP_MEMDEB_INIT
    - ucl_object_iterate_new
    - fprintf
    - ucl_parser_get_error
    - close
    - open
    - printf
    - RTPP_MEMDEB_INIT1
    - ucl_object_iterate_free
    - ucl_parser_free
    - ucl_parser_get_object
    - parse_modules
    - strcasecmp
    - ucl_parser_new
    - ucl_parser_add_fd
    - rtpp_memdeb_dumpstats
    - ucl_object_key
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/libucl/libucl_test.c:206,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/libucl/libucl_test.c:209,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/libucl/libucl_test.c:210,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/libucl/libucl_test.c:213,1
    - Dst: callback
      Src: /src/rtpproxy/libucl/libucl_test.c:217,1
    - Dst: callback
      Src: /src/rtpproxy/libucl/libucl_test.c:225,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/libucl/libucl_test.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - obj
    - map
    - target
    - fentrpp
    argTypes:
    - ucl_object_t*
    - conf_helper_map*
    - void*
    - conf_helper_map**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 232
    functionName: conf_helper_mapper
    functionSourceFile: /src/rtpproxy/libucl/libucl_test.c
    functionUses: 1
    functionsReached:
    - ucl_object_iterate_new
    - strcasecmp
    - ucl_object_iterate_free
    - ucl_object_iterate_safe
    - ucl_object_key
    - callback
    linkageType: ''
    returnType: bool
    signature: "bool conf_helper_mapper(const ucl_object_t *obj, const conf_helper_map
      *map,\n  void *target, const conf_helper_map **fentrpp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/libre/libre_test.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - buf
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: re_dbg_printf
    functionSourceFile: /src/rtpproxy/libre/libre_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void re_dbg_printf(int level, const char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/libre/libre_test.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - uhp
    - us
    - layer
    - sh
    - rh
    - arg
    argTypes:
    - struct udp_helper**
    - struct udp_sock*
    - int
    - udp_helper_send_h*
    - udp_helper_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: udp_register_helper
    functionSourceFile: /src/rtpproxy/libre/libre_test.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int udp_register_helper(struct udp_helper **uhp, struct udp_sock *us,
      int layer,\n  udp_helper_send_h *sh, udp_helper_recv_h *rh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/libre/libre_test.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - us
    - local
    argTypes:
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: udp_local_get
    functionSourceFile: /src/rtpproxy/libre/libre_test.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int udp_local_get(const struct udp_sock *us, struct sa *local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: S
    functionSourceFile: /src/rtpproxy/libre/libre_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S(sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:72,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:73,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:74,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:75,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:76,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:77,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: S
      Src: /src/rtpproxy/libre/libre_test.c:78,1
    - Dst: RTPP_MEMDEB_INIT
      Src: /src/rtpproxy/libre/libre_test.c:93,1
    - Dst: RTPP_MEMDEB_INIT1
      Src: /src/rtpproxy/libre/libre_test.c:94,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/libre/libre_test.c:97,1
    - Dst: ice_cand_attr_decode
      Src: /src/rtpproxy/libre/libre_test.c:100,1
    - Dst: assert
      Src: /src/rtpproxy/libre/libre_test.c:101,1
    - Dst: assert
      Src: /src/rtpproxy/libre/libre_test.c:104,1
    - Dst: icem_alloc
      Src: /src/rtpproxy/libre/libre_test.c:104,1
    - Dst: rtpp_cand_decode
      Src: /src/rtpproxy/libre/libre_test.c:108,1
    - Dst: assert
      Src: /src/rtpproxy/libre/libre_test.c:109,1
    - Dst: assert
      Src: /src/rtpproxy/libre/libre_test.c:111,1
    - Dst: icem_comp_alloc
      Src: /src/rtpproxy/libre/libre_test.c:111,1
    - Dst: mem_deref
      Src: /src/rtpproxy/libre/libre_test.c:112,1
    - Dst: mem_deref
      Src: /src/rtpproxy/libre/libre_test.c:113,1
    - Dst: mem_deref
      Src: /src/rtpproxy/libre/libre_test.c:114,1
    - Dst: icem_stund_recv
      Src: /src/rtpproxy/libre/libre_test.c:116,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/libre/libre_test.c:120,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/libre/libre_test.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (err == 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/rtpproxy/libre/libre_test.c
    - condition: "(icem_alloc(&icem, ICE_MODE_LITE, ICE_ROLE_CONTROLLED, IPPROTO_UDP,
        0,\n      tiebrk, lufrag, lpwd, NULL, NULL) == 0)"
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/rtpproxy/libre/libre_test.c
    - condition: (err == 0)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/rtpproxy/libre/libre_test.c
    - condition: (icem_comp_alloc(&comp, icem, id, sock) == 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/rtpproxy/libre/libre_test.c
    constantsTouched: []
    func_position:
      end: 125
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 125
    functionName: main
    functionSourceFile: /src/rtpproxy/libre/libre_test.c
    functionUses: 0
    functionsReached:
    - rtpp_cand_decode
    - RTPP_MEMDEB_INIT
    - S
    - icem_comp_alloc
    - mem_deref
    - icem_alloc
    - ice_cand_attr_decode
    - assert
    - mem_zalloc
    - rtpp_memdeb_dumpstats
    - RTPP_MEMDEB_INIT1
    - icem_stund_recv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - re_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: rtpp_re_dbg_level
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_dbg.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int rtpp_re_dbg_level(int re_level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_re_dbg_level
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:39,1
    - Dst: va_start
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:41,1
    - Dst: re_vsnprintf
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:42,1
    - Dst: va_end
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:43,1
    - Dst: abort
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:45,1
    - Dst: re_dbg_printf
      Src: /src/rtpproxy/libre/rtpp_re_dbg.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: dbg_printf
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_dbg.c
    functionUses: 1
    functionsReached:
    - rtpp_re_dbg_level
    - re_vsnprintf
    - va_start
    - abort
    - va_end
    - re_dbg_printf
    linkageType: ''
    returnType: void
    signature: void dbg_printf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ret
    - ','
    - func
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: ABSTRACT_FUNC_STUB
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_stub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABSTRACT_FUNC_STUB(ret, func, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tmr
    argTypes:
    - struct tmr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: tmr_init
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmr_init(struct tmr *tmr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: tmr_jiffies
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tmr_jiffies(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tmr
    argTypes:
    - struct tmr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: tmr_cancel
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmr_cancel(struct tmr *tmr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/libre/rtpp_re.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: mem_realloc
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_realloc(void *data, size_t size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/libre/rtpp_re.c:59,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/libre/rtpp_re.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - size
    - dh
    argTypes:
    - size_t
    - mem_destroy_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: mem_zalloc
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DTOR_ATTACH_s
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_zalloc(size_t size, mem_destroy_h *dh)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: D2P
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: D2P(d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: D2P
      Src: /src/rtpproxy/libre/rtpp_re.c:75,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/libre/rtpp_re.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: mem_deref
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 1
    functionsReached:
    - D2P
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_deref(void *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: D2P
      Src: /src/rtpproxy/libre/rtpp_re.c:84,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/libre/rtpp_re.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: mem_ref
    functionSourceFile: /src/rtpproxy/libre/rtpp_re.c
    functionUses: 0
    functionsReached:
    - D2P
    - RTPP_OBJ_INCREF
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_ref(void *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: A2PL
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_icesdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: A2PL(a, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: S2PL
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_icesdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S2PL(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: PL4P
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_icesdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PL4P(pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - transp
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: transp_resolve
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_icesdp.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: enum ice_transp
    signature: enum ice_transp transp_resolve(const struct pl *transp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:49,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:49,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:52,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:53,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:54,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:55,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:56,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:57,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:58,1
    - Dst: transp_resolve
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:61,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:63,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:67,1
    - Dst: PL4P
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:69,1
    - Dst: PL4P
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:69,1
    - Dst: PL4P
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:69,1
    - Dst: memchr
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:76,1
    - Dst: sa_init
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:77,1
    - Dst: sa_init
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:79,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:85,1
    - Dst: A2PL
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:86,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:90,1
    - Dst: sa_set
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:91,1
    - Dst: sa_port
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:92,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:96,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:97,1
    - Dst: pl_u32
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:97,1
    - Dst: sa_set
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:101,1
    - Dst: pl_u32
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:101,1
    - Dst: pl_u32
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:105,1
    - Dst: icem_cand_find
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:108,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:111,1
    - Dst: icem_rcand_add
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:113,1
    - Dst: ice_cand_name2type
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:113,1
    - Dst: pl_u32
      Src: /src/rtpproxy/libre/rtpp_re_icesdp.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - icem
    - args
    - log
    argTypes:
    - struct icem*
    - struct rtpp_command_argsp*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 115
    functionName: rtpp_cand_decode
    functionSourceFile: /src/rtpproxy/libre/rtpp_re_icesdp.c
    functionUses: 1
    functionsReached:
    - sa_set
    - icem_cand_find
    - sa_port
    - pl_strcasecmp
    - pl_strcpy
    - transp_resolve
    - A2PL
    - memchr
    - RTPP_LOG
    - DEBUG_NOTICE
    - sa_init
    - pl_u32
    - sa_set_port
    - ice_cand_name2type
    - icem_rcand_add
    - PL4P
    linkageType: ''
    returnType: int
    signature: "int rtpp_cand_decode(struct icem *icem, const struct rtpp_command_argsp
      *args,\n  struct rtpp_log *log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - buf
    - len
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: re_dbg_printf
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void re_dbg_printf(int level, const char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - uhp
    - us
    - layer
    - sh
    - rh
    - arg
    argTypes:
    - struct udp_helper**
    - struct udp_sock*
    - int
    - udp_helper_send_h*
    - udp_helper_recv_h*
    - void*
    assertStmts:
    - condition: (sock->rh == NULL && sock->rh_arg == NULL)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: udp_register_helper
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: "int udp_register_helper(struct udp_helper **uhp, struct udp_sock *us,
      int layer,\n  udp_helper_send_h *sh, udp_helper_recv_h *rh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:188,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:188,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sad
    - sas
    argTypes:
    - struct sa*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: rtpp2re_sa
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - SA_LEN
    - memcpy
    linkageType: ''
    returnType: void
    signature: void rtpp2re_sa(struct sa *sad, const struct sockaddr *sas)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:198,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:201,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:203,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - us
    - dst
    - mb
    argTypes:
    - struct udp_sock*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: udp_send
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    - rtp_packet_alloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int udp_send(struct udp_sock *us, const struct sa *dst, struct mbuf
      *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_iscompleted
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: iscompleted
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 1
    functionsReached:
    - icem_candpair_iscompleted
    linkageType: ''
    returnType: bool
    signature: bool iscompleted(const struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ila_c
    argTypes:
    - struct ice_lite_agent_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: ila_iscompleted
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: bool
    signature: bool ila_iscompleted(struct ice_lite_agent_cfg *ila_c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:240,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:242,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:245,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:248,1
    - Dst: assert
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:250,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:251,1
    - Dst: rtpp2re_sa
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:254,1
    - Dst: sstosa
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:254,1
    - Dst: struct ice_lite_agent_cfg*::sock::rh
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:258,1
    - Dst: iscompleted
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:259,1
    - Dst: ila_iscompleted
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:260,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:261,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:262,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:263,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:264,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:267,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:268,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:269,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct rtpp_wthrdata*
    assertStmts:
    - condition: (pkt->size <= mb->size)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    constantsTouched: []
    func_position:
      end: 271
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 271
    functionName: rtpp_ice_lite_worker
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - struct ice_lite_agent_cfg*::sock::rh
    - sstosa
    - memcpy
    - RTPP_OBJ_DECREF
    - rtpp2re_sa
    - RTPP_LOG
    - assert
    - iscompleted
    - rtpp_queue_get_item
    - CALL_SMETHOD
    - pthread_mutex_unlock
    - atomic_store_explicit
    - rtpp_wi_data_get_ptr
    - ila_iscompleted
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_ice_lite_worker(const struct rtpp_wthrdata *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:277,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:278,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:279,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:280,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:281,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:282,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct ice_lite_agent_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: ice_lite_data_dtor
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - RC_DECREF
    - mem_deref
    - RTPP_OBJ_DECREF
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ice_lite_data_dtor(struct ice_lite_agent_cfg *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - us
    - local
    argTypes:
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: udp_local_get
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int udp_local_get(const struct udp_sock *us, struct sa *local)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:301,1
    - Dst: atomic_init
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:304,1
    - Dst: alloca
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:305,1
    - Dst: alloca
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:306,1
    - Dst: generate_random_string
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:310,1
    - Dst: generate_random_string
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:312,1
    - Dst: icem_alloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:313,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:316,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:319,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:322,1
    - Dst: rtpp_netaddr_ctor
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:326,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:329,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:331,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:333,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:336,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:338,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:340,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:342,1
    - Dst: mem_deref
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:344,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:346,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - lufrag_len
    - lpwd_len
    - mself
    argTypes:
    - int
    - int
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 349
    functionName: ice_lite_data_ctor
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - alloca
    - RC_INCREF
    - generate_random_string
    - pthread_mutex_init
    - mem_deref
    - icem_alloc
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - mem_zalloc
    - mod_free
    - atomic_init
    - mod_rzmalloc
    - rtpp_netaddr_ctor
    linkageType: ''
    returnType: struct ice_lite_agent_cfg
    signature: 'struct ice_lite_agent_cfg *

      ice_lite_data_ctor(int lufrag_len, int lpwd_len, struct rtpp_minfo *mself)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:356,1
    - Dst: icem_sdp_decode
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:357,1
    - Dst: icem_sdp_decode
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:359,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:361,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ila_c
    - ice_rufrag
    - ice_rpwd
    argTypes:
    - struct ice_lite_agent_cfg*
    - rtpp_str_t*
    - rtpp_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: ila_set_rauth
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - icem_sdp_decode
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int ila_set_rauth(struct ice_lite_agent_cfg *ila_c, const rtpp_str_t
      *ice_rufrag,\n  const rtpp_str_t *ice_rpwd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:379,1
    - Dst: rtpp_cand_decode
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:380,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ila_c
    - c
    - v
    argTypes:
    - struct ice_lite_agent_cfg*
    - int
    - rtpp_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: ice_lite_candidate
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - rtpp_cand_decode
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int ice_lite_candidate(struct ice_lite_agent_cfg *ila_c, int c, const
      rtpp_str_t *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: url_quote
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - size
    - arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: cand_printf_handler
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - url_quote
    linkageType: ''
    returnType: int
    signature: int cand_printf_handler(const char *p, size_t size, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bs
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: APPEND
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND(bs, ss)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:409,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:413,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:413,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:414,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:415,1
    - Dst: icem_comp_add
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:417,1
    - Dst: icem_cand_add
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:420,1
    - Dst: APPEND
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:424,1
    - Dst: APPEND
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:426,1
    - Dst: APPEND
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:428,1
    - Dst: icem_lcandl
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:431,1
    - Dst: APPEND
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:433,1
    - Dst: ice_cand_encode
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:435,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:439,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - ila_c
    - isp
    - resp
    argTypes:
    - struct ice_lite_agent_cfg*
    - struct rtpp_stream*
    - rtpp_str_mutble_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 444
    functionName: ice_lite_start
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - SA_LEN
    - icem_cand_add
    - memcpy
    - icem_comp_add
    - pthread_mutex_unlock
    - sa_set_port
    - APPEND
    - ice_cand_encode
    - icem_lcandl
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int ice_lite_start(struct ice_lite_agent_cfg *ila_c, struct rtpp_stream
      *isp,\n  rtpp_str_mutble_t *resp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ice_lite_data_ctor
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:453,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:465,1
    - Dst: get_rtcp_pair
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:468,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:485,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:501,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:505,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:508,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:510,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:512,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - pvt
    - ctxp
    - ice_strmp
    - lufrag_len
    - lpwd_len
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_subc_ctx*
    - struct rtpp_stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 515
    functionName: ice_lite_activate
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - get_rtcp_pair
    - ice_lite_data_ctor
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: struct ice_lite_agent_cfg
    signature: "struct ice_lite_agent_cfg *\nice_lite_activate(struct rtpp_module_priv
      *pvt, const struct rtpp_subc_ctx *ctxp,\n  struct rtpp_stream *ice_strmp, int
      lufrag_len, int lpwd_len)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:524,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:529,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:577,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:578,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:592,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:603,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:604,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:605,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:606,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:607,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:608,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:609,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:610,1
    - Dst: ice_lite_candidate
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:616,1
    - Dst: ice_lite_activate
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:622,1
    - Dst: ice_lite_start
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:627,1
    - Dst: ice_lite_activate
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:634,1
    - Dst: ila_set_rauth
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:638,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:643,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:647,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:651,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 117
    argCount: 2
    argNames:
    - pvt
    - ctxp
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 653
    functionName: rtpp_ice_lite_handle_command
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - ice_lite_activate
    - ice_lite_start
    - ila_set_rauth
    - RTPP_OBJ_DECREF
    - rtpp_str_fix
    - RTPP_LOG
    - RTPP_OBJ_INCREF
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - ice_lite_candidate
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_ice_lite_handle_command(struct rtpp_module_priv *pvt,\n  const
      struct rtpp_subc_ctx *ctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_is_stun_tst
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:661,1
    - Dst: ila_iscompleted
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: ril_ice_taste
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - rtpp_is_stun_tst
    - ila_iscompleted
    linkageType: ''
    returnType: int
    signature: int ril_ice_taste(struct pkt_proc_ctx *pktx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:682,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:686,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:688,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:690,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 695
    functionName: rtpp_ice_lite_enqueue
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_put_item
    - RTPP_OBJ_BORROW_s
    - rtpp_wi_malloc_udata
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act rtpp_ice_lite_enqueue(const struct pkt_proc_ctx *pktx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: rtpp_ice_lite_rtcp_dmx
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act rtpp_ice_lite_rtcp_dmx(const struct pkt_proc_ctx *pktx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 713
    functionName: rtpp_ice_lite_rtcp_mx
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act rtpp_ice_lite_rtcp_mx(const struct pkt_proc_ctx *pktx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_zmalloc
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cfsp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 732
    functionName: rtpp_ice_lite_ctor
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - mod_zmalloc
    linkageType: ''
    returnType: struct rtpp_module_priv
    signature: 'struct rtpp_module_priv *

      rtpp_ice_lite_ctor(const struct rtpp_cfg *cfsp, struct rtpp_minfo *mself)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mod_free
      Src: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_module_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionName: rtpp_ice_lite_dtor
    functionSourceFile: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    functionUses: 0
    functionsReached:
    - mod_free
    linkageType: ''
    returnType: void
    signature: void rtpp_ice_lite_dtor(struct rtpp_module_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - side
    argTypes:
    - enum rtpp_stream_side
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: rtpp_catch_dtmf_edata_ctor
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - mod_rzmalloc
    linkageType: ''
    returnType: struct catch_dtmf_edata
    signature: 'struct catch_dtmf_edata *

      rtpp_catch_dtmf_edata_ctor(enum rtpp_stream_side side)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:191,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:193,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:196,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:201,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:205,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:206,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:232,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:238,1
    - Dst: snprintf
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:251,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:252,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:254,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:255,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:258,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct rtpp_wthrdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 260
    functionName: rtpp_catch_dtmf_worker
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - FMTSTR
    - RTPP_OBJ_DECREF
    - snprintf
    - RTPP_LOG
    - ntohs
    - rtpp_str_fix
    - ntohl
    - rtpp_queue_get_item
    - rtpp_wi_data_get_ptr
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_catch_dtmf_worker(const struct rtpp_wthrdata *wp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:268,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:273,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_RC_s
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:274,1
    - Dst: rtpp_catch_dtmf_edata_ctor
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:275,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:277,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_RC_s
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:281,1
    - Dst: rtpp_timeout_data_ctor
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:282,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_RC_s
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:287,1
    - Dst: atomic_init
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:288,1
    - Dst: atomic_init
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:289,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - ctxp
    - dtmf_tag
    - new_pt
    - mself
    argTypes:
    - struct rtpp_subc_ctx*
    - rtpp_str_t*
    - int
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 295
    functionName: catch_dtmf_data_ctor
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - rtpp_catch_dtmf_edata_ctor
    - rtpp_timeout_data_ctor
    - RC_INCREF
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - atomic_init
    - mod_rzmalloc
    - RTPP_OBJ_DTOR_ATTACH_RC_s
    linkageType: ''
    returnType: struct catch_dtmf_stream_cfg
    signature: "struct catch_dtmf_stream_cfg *\ncatch_dtmf_data_ctor(const struct
      rtpp_subc_ctx *ctxp, const rtpp_str_t *dtmf_tag,\n  int new_pt, struct rtpp_minfo
      *mself)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:308,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:313,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:319,1
    - Dst: alloca
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:325,1
    - Dst: url_unquote2
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:326,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:328,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:337,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:338,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:339,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:351,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:361,1
    - Dst: catch_dtmf_data_ctor
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:362,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:362,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:374,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:375,1
    - Dst: atomic_exchange
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:382,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:384,1
    - Dst: atomic_exchange
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:386,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:388,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:390,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 2
    argNames:
    - pvt
    - ctxp
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 392
    functionName: rtpp_catch_dtmf_handle_command
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - alloca
    - atomic_exchange
    - FMTSTR
    - RTPP_OBJ_DECREF
    - rtpp_str_fix
    - RTPP_LOG
    - catch_dtmf_data_ctor
    - CALL_SMETHOD
    - atoi_saferange
    - url_unquote2
    linkageType: ''
    returnType: int
    signature: "int rtpp_catch_dtmf_handle_command(struct rtpp_module_priv *pvt,\n
      \ const struct rtpp_subc_ctx *ctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: rtp_packet_is_dtmf
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - atomic_load
    linkageType: ''
    returnType: int
    signature: int rtp_packet_is_dtmf(struct pkt_proc_ctx *pktx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:418,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:421,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:424,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:426,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:428,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:429,1
    - Dst: PPROC_ACT
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:432,1
    - Dst: atomic_load
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 433
    functionName: rtpp_catch_dtmf_enqueue
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - rtpp_wi_malloc_udata
    - PPROC_ACT
    - rtpp_queue_put_item
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_BORROW_s
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act rtpp_catch_dtmf_enqueue(const struct pkt_proc_ctx
      *pktx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_zmalloc
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cfsp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 450
    functionName: rtpp_catch_dtmf_ctor
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - mod_zmalloc
    linkageType: ''
    returnType: struct rtpp_module_priv
    signature: 'struct rtpp_module_priv *

      rtpp_catch_dtmf_ctor(const struct rtpp_cfg *cfsp, struct rtpp_minfo *mself)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mod_free
      Src: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_module_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: rtpp_catch_dtmf_dtor
    functionSourceFile: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    functionUses: 0
    functionsReached:
    - mod_free
    linkageType: ''
    returnType: void
    signature: void rtpp_catch_dtmf_dtor(struct rtpp_module_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:78,1
    - Dst: SSL_CTX_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_dtls_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: rtpp_dtls_dtor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 0
    functionsReached:
    - X509_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void rtpp_dtls_dtor(struct rtpp_dtls_priv *pvt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:87,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:87,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:91,1
    - Dst: DTLS_method
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:91,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:93,1
    - Dst: tls_set_selfsigned_ec
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:96,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:98,1
    - Dst: tls_set_verify_client
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:101,1
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:102,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:103,1
    - Dst: rtpp_dtls_fp_gen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:106,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:114,1
    - Dst: X509_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:117,1
    - Dst: SSL_CTX_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:119,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - cfsp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 124
    functionName: rtpp_dtls_ctor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 0
    functionsReached:
    - X509_free
    - SSL_CTX_set_tlsext_use_srtp
    - SSL_CTX_free
    - DTLS_method
    - tls_set_verify_client
    - ERR_clear_error
    - SSL_CTX_new
    - rtpp_dtls_fp_gen
    - tls_set_selfsigned_ec
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - mod_free
    - mod_rzmalloc
    linkageType: ''
    returnType: struct rtpp_dtls
    signature: 'struct rtpp_dtls *

      rtpp_dtls_ctor(const struct rtpp_cfg *cfsp, struct rtpp_minfo *mself)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:132,1
    - Dst: rtpp_dtls_conn_ctor
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - dtls_strmp
    argTypes:
    - struct rtpp_dtls*
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: rtpp_dtls_newconn
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - rtpp_dtls_conn_ctor
    linkageType: ''
    returnType: struct rtpp_dtls_conn
    signature: 'struct rtpp_dtls_conn *

      rtpp_dtls_newconn(struct rtpp_dtls *self, struct rtpp_stream *dtls_strmp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:148,1
    - Dst: RAND_bytes
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (RAND_bytes((unsigned char *)&v, sizeof(v)) == 1)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: dtls_rand_u32
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dtls_rand_u32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: verify_trust_all
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_trust_all(int ok, X509_STORE_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:165,1
    - Dst: SSL_CTX_set_verify
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: tls_set_verify_client
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_verify_depth
    linkageType: ''
    returnType: void
    signature: void tls_set_verify_client(SSL_CTX *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: X509_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:176,1
    - Dst: X509_set_version
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:180,1
    - Dst: ASN1_INTEGER_set
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:183,1
    - Dst: X509_get_serialNumber
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:183,1
    - Dst: dtls_rand_u32
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:183,1
    - Dst: X509_NAME_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:186,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:190,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:191,1
    - Dst: X509_set_issuer_name
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:194,1
    - Dst: X509_set_subject_name
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:195,1
    - Dst: X509_gmtime_adj
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:199,1
    - Dst: X509_getm_notBefore
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:199,1
    - Dst: X509_gmtime_adj
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:200,1
    - Dst: X509_getm_notAfter
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:200,1
    - Dst: X509_gmtime_adj
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:203,1
    - Dst: X509_get_notBefore
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:203,1
    - Dst: X509_gmtime_adj
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:204,1
    - Dst: X509_get_notAfter
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:204,1
    - Dst: X509_NAME_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:208,1
    - Dst: X509_NAME_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:211,1
    - Dst: X509_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:213,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - cn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 216
    functionName: tls_generate_cert
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 0
    functionsReached:
    - X509_free
    - X509_NAME_free
    - X509_set_issuer_name
    - X509_NAME_add_entry_by_txt
    - X509_set_subject_name
    - X509_getm_notBefore
    - dtls_rand_u32
    - X509_get_serialNumber
    - X509_set_version
    - X509_new
    - X509_NAME_new
    - ASN1_INTEGER_set
    - X509_gmtime_adj
    - X509_get_notAfter
    - X509_get_notBefore
    - strlen
    - X509_getm_notAfter
    linkageType: ''
    returnType: X509
    signature: 'X509 *

      tls_generate_cert(const char *cn)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EC_gen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:230,1
    - Dst: EVP_PKEY_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:235,1
    - Dst: OBJ_txt2nid
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:239,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:243,1
    - Dst: EC_KEY_generate_key
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:247,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:251,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:253,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:256,1
    - Dst: tls_generate_cert
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:260,1
    - Dst: X509_set_pubkey
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:264,1
    - Dst: X509_sign
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:267,1
    - Dst: EVP_sha256
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:267,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:270,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:274,1
    - Dst: EC_KEY_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:279,1
    - Dst: EVP_PKEY_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:281,1
    - Dst: X509_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:284,1
    - Dst: EC_KEY_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:287,1
    - Dst: EVP_PKEY_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c:290,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 3
    argNames:
    - ctx
    - cn
    - curve_n
    argTypes:
    - SSL_CTX*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 293
    functionName: tls_set_selfsigned_ec
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    functionUses: 1
    functionsReached:
    - EC_KEY_new_by_curve_name
    - EC_KEY_free
    - X509_free
    - EC_KEY_set_asn1_flag
    - SSL_CTX_use_certificate
    - SSL_CTX_use_PrivateKey
    - EVP_PKEY_new
    - tls_generate_cert
    - EVP_PKEY_free
    - OBJ_txt2nid
    - X509_set_pubkey
    - EVP_EC_gen
    - EVP_sha256
    - X509_sign
    - EC_KEY_generate_key
    - EVP_PKEY_set1_EC_KEY
    linkageType: ''
    returnType: X509
    signature: 'X509 *

      tls_set_selfsigned_ec(SSL_CTX *ctx, const char *cn, const char *curve_n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: RES_HERE
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RES_HERE(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h:72,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h:73,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h:74,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h:75,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_dtls_conn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:156,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:158,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:161,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:166,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:168,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:169,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:173,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:175,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:179,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:181,1
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:184,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:191,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:194,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:195,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:198,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct rtpp_wthrdata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 202
    functionName: rtpp_dtls_gw_worker
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - RES_HERE
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - rtpp_queue_get_item
    - CALL_SMETHOD
    - abort
    - rtpp_wi_data_get_ptr
    linkageType: ''
    returnType: void
    signature: void rtpp_dtls_gw_worker(const struct rtpp_wthrdata *wp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:209,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:213,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:218,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_RC_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:219,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_RC_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:220,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:221,1
    - Dst: GET_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:221,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pvt
    - dtls_strmp
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: dtls_gw_data_ctor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - RC_INCREF
    - CALL_METHOD
    - GET_SMETHOD
    - RTPP_OBJ_DTOR_ATTACH_s
    - mod_free
    - mod_rzmalloc
    - RTPP_OBJ_DTOR_ATTACH_RC_s
    linkageType: ''
    returnType: struct dtls_gw_stream_cfg
    signature: 'struct dtls_gw_stream_cfg *

      dtls_gw_data_ctor(struct rtpp_module_priv *pvt, struct rtpp_stream *dtls_strmp)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:238,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:240,1
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:249,1
    - Dst: rtpp_create_listener
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:252,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:255,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:256,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:257,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:258,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:262,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:263,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - pvt
    - spa
    - dtls_strmp
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_session*
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 270
    functionName: rtpp_dtls_gw_setup_sender
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - rtpp_create_listener
    - RTPP_OBJ_DECREF
    - CALL_SMETHOD
    - abort
    - CALL_METHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_dtls_gw_setup_sender(struct rtpp_module_priv *pvt,\n  struct
      rtpp_session *spa, struct rtpp_stream *dtls_strmp)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:281,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:289,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:366,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:375,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:376,1
    - Dst: dtls_gw_data_ctor
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:381,1
    - Dst: rtpp_dtls_gw_setup_sender
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:387,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:391,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:404,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:415,1
    - Dst: strlcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:425,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:426,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:427,1
    - Dst: strlcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:431,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:432,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:433,1
    - Dst: strlcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:437,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:438,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:439,1
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:443,1
    - Dst: strlcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:446,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:449,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:453,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:457,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:461,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:463,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 155
    argCount: 2
    argNames:
    - pvt
    - ctxp
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 465
    functionName: rtpp_dtls_gw_handle_command
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - abort
    - rtpp_dtls_gw_setup_sender
    - RTPP_OBJ_DECREF
    - rtpp_str_fix
    - RTPP_LOG
    - dtls_gw_data_ctor
    - CALL_SMETHOD
    - strlcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: "int rtpp_dtls_gw_handle_command(struct rtpp_module_priv *pvt,\n  const
      struct rtpp_subc_ctx *ctxp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_is_dtls_tst
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: rtpp_dtls_gw_taste_encrypted
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - rtpp_is_dtls_tst
    linkageType: ''
    returnType: int
    signature: int rtpp_dtls_gw_taste_encrypted(struct pkt_proc_ctx *pktxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 499
    functionName: rtpp_dtls_gw_taste_plain
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtpp_dtls_gw_taste_plain(struct pkt_proc_ctx *pktxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:509,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:513,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:516,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:518,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:519,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 525
    functionName: rtpp_dtls_gw_enqueue
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_put_item
    - RTPP_OBJ_BORROW_s
    - rtpp_wi_malloc_udata
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act rtpp_dtls_gw_enqueue(const struct pkt_proc_ctx *pktxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mod_zmalloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:533,1
    - Dst: rtpp_dtls_ctor
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:537,1
    - Dst: srtp_init
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:541,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:549,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - cfsp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 554
    functionName: rtpp_dtls_gw_ctor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - mod_zmalloc
    - RTPP_OBJ_DECREF
    - rtpp_dtls_ctor
    - mod_free
    - srtp_init
    linkageType: ''
    returnType: struct rtpp_module_priv
    signature: 'struct rtpp_module_priv *

      rtpp_dtls_gw_ctor(const struct rtpp_cfg *cfsp, struct rtpp_minfo *mself)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srtp_shutdown
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:560,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:561,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_module_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: rtpp_dtls_gw_dtor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    functionUses: 0
    functionsReached:
    - mod_free
    - srtp_shutdown
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_dtls_gw_dtor(struct rtpp_module_priv *pvt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srtp_dealloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:190,1
    - Dst: srtp_dealloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:192,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:193,1
    - Dst: SSL_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:196,1
    - Dst: BIO_meth_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_dtls_conn_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: rtpp_dtls_conn_dtor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - srtp_dealloc
    - SSL_free
    - BIO_meth_free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_dtls_conn_dtor(struct rtpp_dtls_conn_priv *pvt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:206,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:206,1
    - Dst: bio_method_udp
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:210,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:212,1
    - Dst: SSL_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:215,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:217,1
    - Dst: BIO_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:220,1
    - Dst: BIO_s_mem
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:220,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:222,1
    - Dst: BIO_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:225,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:227,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:230,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:233,1
    - Dst: SSL_set_bio
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:234,1
    - Dst: SSL_set_read_ahead
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:235,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:241,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:244,1
    - Dst: BIO_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:248,1
    - Dst: BIO_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:250,1
    - Dst: SSL_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:252,1
    - Dst: BIO_meth_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:254,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:256,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 4
    argNames:
    - cfsp
    - ctx
    - dtls_strmp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - SSL_CTX*
    - struct rtpp_stream*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 259
    functionName: rtpp_dtls_conn_ctor
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 1
    functionsReached:
    - SSL_set_bio
    - bio_method_udp
    - pthread_mutex_init
    - BIO_new
    - SSL_new
    - BIO_set_data
    - PUBINST_FININIT
    - BIO_meth_free
    - SSL_free
    - ERR_clear_error
    - BIO_s_mem
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - RTPP_OBJ_BORROW_s
    - SSL_set_read_ahead
    - BIO_free
    - mod_rzmalloc
    linkageType: ''
    returnType: struct rtpp_dtls_conn
    signature: "struct rtpp_dtls_conn *\nrtpp_dtls_conn_ctor(const struct rtpp_cfg
      *cfsp, SSL_CTX *ctx,\n  struct rtpp_stream *dtls_strmp, struct rtpp_minfo *mself)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - peer_mode
    argTypes:
    - enum rtpp_dtls_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: rtpp_dtls_conn_pickmode
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: enum rtpp_dtls_mode
    signature: enum rtpp_dtls_mode rtpp_dtls_conn_pickmode(enum rtpp_dtls_mode peer_mode)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:286,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:288,1
    - Dst: rtpp_dtls_conn_pickmode
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:293,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:295,1
    - Dst: memcmp
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:301,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:302,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:303,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:307,1
    - Dst: sprintf
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:311,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:311,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:312,1
    - Dst: strtoul
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:314,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:316,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:317,1
    - Dst: tls_connect
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:324,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:330,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:333,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - self
    - rdfsp
    argTypes:
    - struct rtpp_dtls_conn*
    - struct rdc_peer_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 335
    functionName: rtpp_dtls_conn_setmode
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - FMTSTR
    - RTPP_LOG
    - tls_connect
    - pthread_mutex_unlock
    - strtoul
    - memcmp
    - PUB2PVT
    - rtpp_dtls_conn_pickmode
    - sprintf
    - pthread_mutex_lock
    linkageType: ''
    returnType: enum rtpp_dtls_mode
    signature: "enum rtpp_dtls_mode rtpp_dtls_conn_setmode(struct rtpp_dtls_conn *self,\n
      \ const struct rdc_peer_spec *rdfsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:345,1
    - Dst: struct srtp_crypto_suite*::set_srtp_policy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:346,1
    - Dst: struct srtp_crypto_suite*::set_srtp_policy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:347,1
    - Dst: srtp_create
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:360,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - suite
    - key
    - ssrc
    - log
    argTypes:
    - struct srtp_crypto_suite*
    - uint8_t*
    - uint32_t
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 366
    functionName: setup_srtp_stream
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - struct srtp_crypto_suite*::set_srtp_policy
    - memset
    - srtp_create
    - RTPP_LOG
    linkageType: ''
    returnType: srtp_t
    signature: "srtp_t setup_srtp_stream(const struct srtp_crypto_suite *suite, uint8_t
      *key,\n  uint32_t ssrc, struct rtpp_log *log)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:378,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:380,1
    - Dst: BIO_write
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:393,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:395,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:396,1
    - Dst: SSL_get_state
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:399,1
    - Dst: tls_connect
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:404,1
    - Dst: tls_accept
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:406,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:412,1
    - Dst: SSL_get_state
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:413,1
    - Dst: SSL_get_state
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:417,1
    - Dst: tls_srtp_keyinfo
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:420,1
    - Dst: tls_peer_fingerprint
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:426,1
    - Dst: strcmp
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:433,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:434,1
    - Dst: setup_srtp_stream
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:438,1
    - Dst: setup_srtp_stream
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:444,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:452,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:460,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:464,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 2
    argNames:
    - self
    - pktp
    argTypes:
    - struct rtpp_dtls_conn*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 465
    functionName: rtpp_dtls_conn_dtls_recv
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - tls_srtp_keyinfo
    - ERR_clear_error
    - tls_accept
    - RTPP_LOG
    - strcmp
    - SSL_get_state
    - tls_connect
    - pthread_mutex_unlock
    - tls_peer_fingerprint
    - PUB2PVT
    - BIO_write
    - setup_srtp_stream
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_dtls_conn_dtls_recv(struct rtpp_dtls_conn *self,\n  const
      struct rtp_packet *pktp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: SRTP_PROTECT
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SRTP_PROTECT(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: SRTCP_PROTECT
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SRTCP_PROTECT(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: SRTP_PROTECT
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SRTP_PROTECT(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: SRTCP_PROTECT
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SRTCP_PROTECT(a, b, c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:486,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:489,1
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:493,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:495,1
    - Dst: rtp_packet_dup
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:496,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:497,1
    - Dst: rtpp_is_rtcp_tst
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:503,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:504,1
    - Dst: SRTCP_PROTECT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:504,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:506,1
    - Dst: SRTP_PROTECT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:506,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:513,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - self
    - pktxp
    argTypes:
    - struct rtpp_dtls_conn*
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 516
    functionName: rtpp_dtls_conn_rtp_send
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - SRTP_PROTECT
    - RES_HERE
    - RTPP_OBJ_DECREF
    - rtpp_is_rtcp_tst
    - CALL_SMETHOD
    - SRTCP_PROTECT
    - PUB2PVT
    - rtp_packet_alloc
    - rtp_packet_dup
    linkageType: ''
    returnType: struct res_loc
    signature: struct res_loc rtpp_dtls_conn_rtp_send(struct rtpp_dtls_conn *self,
      struct pkt_proc_ctx *pktxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:529,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:532,1
    - Dst: rtpp_is_rtcp_tst
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:536,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:537,1
    - Dst: srtp_unprotect_rtcp
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:537,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:539,1
    - Dst: srtp_unprotect
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:539,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:546,1
    - Dst: RES_HERE
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - self
    - pktxp
    argTypes:
    - struct rtpp_dtls_conn*
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 549
    functionName: rtpp_dtls_conn_srtp_recv
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - srtp_unprotect_rtcp
    - srtp_unprotect
    - RES_HERE
    - rtpp_is_rtcp_tst
    - CALL_SMETHOD
    - PUB2PVT
    linkageType: ''
    returnType: struct res_loc
    signature: struct res_loc rtpp_dtls_conn_srtp_recv(struct rtpp_dtls_conn *self,
      struct pkt_proc_ctx *pktxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:554,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:558,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:561,1
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:563,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:566,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:568,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:569,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - b
    - buf
    - len
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 575
    functionName: bio_write
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - memcpy
    - RTPP_OBJ_DECREF
    - CALL_SMETHOD
    - rtp_packet_alloc
    linkageType: ''
    returnType: int
    signature: int bio_write(BIO *b, const char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 602
    functionName: bio_ctrl
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long bio_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:607,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:608,1
    - Dst: BIO_set_flags
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: bio_create
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_set_flags
    linkageType: ''
    returnType: int
    signature: int bio_create(BIO *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:619,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:620,1
    - Dst: BIO_set_flags
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: bio_destroy
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_set_flags
    linkageType: ''
    returnType: int
    signature: int bio_destroy(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:631,1
    - Dst: BIO_meth_set_write
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:636,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:637,1
    - Dst: BIO_meth_set_create
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:638,1
    - Dst: BIO_meth_set_destroy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 642
    functionName: bio_method_udp
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 1
    functionsReached:
    - BIO_meth_set_ctrl
    - BIO_meth_set_destroy
    - BIO_meth_set_create
    - BIO_meth_set_write
    - BIO_meth_new
    linkageType: ''
    returnType: BIO_METHOD
    signature: 'BIO_METHOD *

      bio_method_udp(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: tls_print_error
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    linkageType: ''
    returnType: int
    signature: int tls_print_error(const char *str, size_t len, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: tls_flush_error
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void tls_flush_error(struct rtpp_log *log)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:666,1
    - Dst: rtpp_mutex_islocked
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:666,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:668,1
    - Dst: SSL_accept
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:670,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:672,1
    - Dst: tls_flush_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:674,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:681,1
    - Dst: check_timer
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_dtls_conn_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 691
    functionName: tls_accept
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 1
    functionsReached:
    - SSL_get_error
    - check_timer
    - ERR_clear_error
    - RTPP_LOG
    - SSL_accept
    - rtpp_mutex_islocked
    - RTPP_DBG_ASSERT
    - tls_flush_error
    linkageType: ''
    returnType: int
    signature: int tls_accept(struct rtpp_dtls_conn_priv *pvt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:698,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:705,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:709,1
    - Dst: check_timer
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:710,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:713,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - dtime
    - arg
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 719
    functionName: rtpp_dtls_conn_timeout
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - check_timer
    - DTLSv1_handle_timeout
    - ERR_clear_error
    - RTPP_OBJ_DECREF
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: enum rtpp_timed_cb_rvals
    signature: enum rtpp_timed_cb_rvals rtpp_dtls_conn_timeout(double dtime, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:727,1
    - Dst: rtpp_mutex_islocked
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:727,1
    - Dst: DTLSv1_get_timeout
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:729,1
    - Dst: timeval2dtime
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:733,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:734,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:739,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_dtls_conn_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 745
    functionName: check_timer
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 2
    functionsReached:
    - CALL_METHOD
    - timeval2dtime
    - RTPP_OBJ_DECREF
    - CALL_SMETHOD
    - DTLSv1_get_timeout
    - rtpp_mutex_islocked
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int check_timer(struct rtpp_dtls_conn_priv *pvt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:752,1
    - Dst: rtpp_mutex_islocked
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:752,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:754,1
    - Dst: SSL_connect
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:756,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:758,1
    - Dst: tls_flush_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:760,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:767,1
    - Dst: check_timer
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_dtls_conn_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 776
    functionName: tls_connect
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 2
    functionsReached:
    - SSL_get_error
    - check_timer
    - ERR_clear_error
    - RTPP_LOG
    - SSL_connect
    - rtpp_mutex_islocked
    - RTPP_DBG_ASSERT
    - tls_flush_error
    linkageType: ''
    returnType: int
    signature: int tls_connect(struct rtpp_dtls_conn_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 786
    functionName: mem_secclean
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void mem_secclean(void *data, size_t size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:798,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:800,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:801,1
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:836,1
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:842,1
    - Dst: abort
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:845,1
    - Dst: SSL_export_keying_material
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:847,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:848,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:849,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:850,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:857,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:859,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:861,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:863,1
    - Dst: mem_secclean
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:865,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 7
    argNames:
    - ssl_ctx
    - suite
    - cli_key
    - cli_key_size
    - srv_key
    - srv_key_size
    - log
    argTypes:
    - SSL*
    - struct srtp_crypto_suite**
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 868
    functionName: tls_srtp_keyinfo
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 1
    functionsReached:
    - mem_secclean
    - abort
    - memcpy
    - ERR_clear_error
    - SSL_get_selected_srtp_profile
    - RTPP_LOG
    - SSL_export_keying_material
    - strlen
    linkageType: ''
    returnType: int
    signature: "int tls_srtp_keyinfo(SSL *ssl_ctx, const struct srtp_crypto_suite
      **suite,\n  uint8_t *cli_key, size_t cli_key_size, uint8_t *srv_key,\n  size_t
      srv_key_size, struct rtpp_log *log)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:876,1
    - Dst: rtpp_dtls_fp_gen
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:880,1
    - Dst: X509_free
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ssl_ctx
    - buf
    - size
    argTypes:
    - SSL*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 885
    functionName: tls_peer_fingerprint
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 1
    functionsReached:
    - rtpp_dtls_fp_gen
    - X509_free
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: int
    signature: int tls_peer_fingerprint(SSL *ssl_ctx, char *buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:892,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:894,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:897,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:898,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_dtls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 902
    functionName: rtpp_dtls_conn_godead
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    - pthread_mutex_unlock
    - PUB2PVT
    - CALL_METHOD
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_dtls_conn_godead(struct rtpp_dtls_conn *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: X509_digest
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c:43,1
    - Dst: EVP_sha256
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c:43,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c:44,1
    - Dst: memcpy
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c:47,1
    - Dst: sprintf
      Src: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - cert
    - buf
    - len
    argTypes:
    - X509*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: rtpp_dtls_fp_gen
    functionSourceFile: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ERR_clear_error
    - X509_digest
    - EVP_sha256
    - sprintf
    linkageType: ''
    returnType: int
    signature: int rtpp_dtls_fp_gen(const X509 *cert, char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:78,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - out
    - m
    - t
    - b
    - len
    argTypes:
    - FILE*
    - member_t
    - rtcp_sdes_type_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: member_sdes
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void member_sdes(FILE *out, member_t m, rtcp_sdes_type_t t, char *b,
      int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: member_sdes
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:102,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - out
    - b
    - len
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: rtp_read_sdes
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
    functionUses: 0
    functionsReached:
    - fprintf
    - member_sdes
    linkageType: ''
    returnType: char
    signature: char *rtp_read_sdes(FILE *out, char *b, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - exitcode
    - ','
    - sbc
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: RSW_REST
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSW_REST(exitcode, sbc, format, args...)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:151,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:157,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:163,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:169,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:170,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:171,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:172,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:173,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:174,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:175,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:176,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:177,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:179,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:182,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:183,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:184,1
    - Dst: RTCP_GET_LOST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:186,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:187,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:188,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:189,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:190,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:193,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:194,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:195,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:201,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:202,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:203,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:205,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:208,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:209,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:210,1
    - Dst: RTCP_GET_LOST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:212,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:213,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:214,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:215,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:216,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:219,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:220,1
    - Dst: RSW_REST
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:221,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:226,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:227,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:230,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:232,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:233,1
    - Dst: rtp_read_sdes
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:235,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:236,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:239,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:242,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:244,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:250,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:251,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:253,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:254,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:256,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:257,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:259,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:261,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:268,1
    - Dst: ntohl
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:269,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:282,1
    - Dst: ntohs
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c:283,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 3
    argNames:
    - out
    - buf
    - len
    argTypes:
    - struct rtpp_sbuf*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 286
    functionName: rtcp2json
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
    functionUses: 0
    functionsReached:
    - fprintf
    - RTCP_GET_LOST
    - ntohs
    - RSW_REST
    - rtp_read_sdes
    - ntohl
    linkageType: ''
    returnType: int
    signature: int rtcp2json(struct rtpp_sbuf *out, const void *buf, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mod_zmalloc
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:115,1
    - Dst: rtpp_sbuf_ctor
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:119,1
    - Dst: rtpp_sbuf_dtor
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:128,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - cfsp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: rtpp_acct_rtcp_hep_ctor
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    functionUses: 0
    functionsReached:
    - mod_free
    - rtpp_sbuf_dtor
    - mod_zmalloc
    - rtpp_sbuf_ctor
    linkageType: ''
    returnType: struct rtpp_module_priv
    signature: 'struct rtpp_module_priv *

      rtpp_acct_rtcp_hep_ctor(const struct rtpp_cfg *cfsp, struct rtpp_minfo *mself)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:146,1
    - Dst: init_hepsocket
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pvt
    - mcpub
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_module_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: rtpp_acct_rtcp_hep_config
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - init_hepsocket
    linkageType: ''
    returnType: int
    signature: "int rtpp_acct_rtcp_hep_config(struct rtpp_module_priv *pvt,\n  struct
      rtpp_module_conf *mcpub)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hep_gen_dtor
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:157,1
    - Dst: rtpp_sbuf_dtor
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:158,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_module_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: rtpp_acct_rtcp_hep_dtor
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    functionUses: 0
    functionsReached:
    - hep_gen_dtor
    - rtpp_sbuf_dtor
    - mod_free
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_rtcp_hep_dtor(struct rtpp_module_priv *pvt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:171,1
    - Dst: sstosa
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:173,1
    - Dst: satosin
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:181,1
    - Dst: satosin
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:182,1
    - Dst: satosin6
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:186,1
    - Dst: satosin6
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:187,1
    - Dst: abort
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:191,1
    - Dst: getport
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:194,1
    - Dst: dtime2timeval
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:196,1
    - Dst: SEC
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:197,1
    - Dst: USEC
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:198,1
    - Dst: hep_gen_fill
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:199,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:200,1
    - Dst: hep_gen_append
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:204,1
    - Dst: strlen
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:205,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:206,1
    - Dst: rtpp_sbuf_reset
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:210,1
    - Dst: rtcp2json
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:211,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:213,1
    - Dst: send_hep
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:217,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:217,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - pvt
    - rarp
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_acct_rtcp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 224
    functionName: rtpp_acct_rtcp_hep_do
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    functionUses: 0
    functionsReached:
    - hep_gen_append
    - USEC
    - hep_gen_fill
    - rtpp_sbuf_reset
    - sstosa
    - rtcp2json
    - send_hep
    - satosin
    - RS_ULEN
    - RTPP_LOG
    - getport
    - memset
    - dtime2timeval
    - abort
    - strlen
    - satosin6
    - SEC
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_rtcp_hep_do(struct rtpp_module_priv *pvt, struct rtpp_acct_rtcp
      *rarp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_free
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: mconf_dtor
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    functionUses: 0
    functionsReached:
    - mod_free
    linkageType: ''
    returnType: void
    signature: void mconf_dtor(struct hep_ctx *ctxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mod_rzmalloc
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:239,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:239,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: rtpp_acct_rtcp_hep_get_mconf
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - mod_rzmalloc
    linkageType: ''
    returnType: struct rtpp_module_conf
    signature: 'struct rtpp_module_conf *

      rtpp_acct_rtcp_hep_get_mconf(void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:52,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:54,1
    - Dst: exit
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:55,1
    - Dst: read
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:57,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:59,1
    - Dst: exit
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:60,1
    - Dst: rtpp_sbuf_ctor
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:62,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:64,1
    - Dst: exit
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:65,1
    - Dst: rtcp2json
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:67,1
    - Dst: fprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:68,1
    - Dst: exit
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:69,1
    - Dst: printf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:71,1
    - Dst: exit
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rtcp2json
    - open
    - rtpp_sbuf_ctor
    - read
    - printf
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tostring_forced
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:58,1
    - Dst: mod_strdup
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - log
    - top
    - obj
    - target
    argTypes:
    - struct rtpp_log*
    - ucl_object_t*
    - ucl_object_t*
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: conf_set_capt_host
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c
    functionUses: 0
    functionsReached:
    - ucl_object_tostring_forced
    - mod_strdup
    linkageType: ''
    returnType: bool
    signature: "bool conf_set_capt_host(struct rtpp_log *log, const ucl_object_t *top,\n
      \ const ucl_object_t *obj, struct hep_ctx *target)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_type
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:74,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:75,1
    - Dst: ucl_object_tostring_forced
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:77,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:78,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:79,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:83,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:84,1
    - Dst: snprintf
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - log
    - top
    - obj
    - target
    argTypes:
    - struct rtpp_log*
    - ucl_object_t*
    - ucl_object_t*
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: conf_set_capt_port
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c
    functionUses: 0
    functionsReached:
    - ucl_object_tostring_forced
    - ucl_object_type
    - snprintf
    - RTPP_LOG
    - ucl_object_key
    - ucl_object_toint
    linkageType: ''
    returnType: bool
    signature: "bool conf_set_capt_port(struct rtpp_log *log, const ucl_object_t *top,\n
      \ const ucl_object_t *obj, struct hep_ctx *target)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tostring_forced
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:98,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:99,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:102,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:107,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - log
    - top
    - obj
    - target
    argTypes:
    - struct rtpp_log*
    - ucl_object_t*
    - ucl_object_t*
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: conf_set_capt_ptype
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - strcasecmp
    - ucl_object_tostring_forced
    - ucl_object_key
    linkageType: ''
    returnType: bool
    signature: "bool conf_set_capt_ptype(struct rtpp_log *log, const ucl_object_t
      *top,\n  const ucl_object_t *obj, struct hep_ctx *target)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_type
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:120,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:121,1
    - Dst: ucl_object_tostring_forced
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:123,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:124,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:125,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:129,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - log
    - top
    - obj
    - target
    argTypes:
    - struct rtpp_log*
    - ucl_object_t*
    - ucl_object_t*
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: conf_set_capt_id
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c
    functionUses: 0
    functionsReached:
    - ucl_object_tostring_forced
    - ucl_object_type
    - RTPP_LOG
    - ucl_object_key
    - ucl_object_toint
    linkageType: ''
    returnType: bool
    signature: "bool conf_set_capt_id(struct rtpp_log *log, const ucl_object_t *top,\n
      \ const ucl_object_t *obj, struct hep_ctx *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: RTCP_GET_LOST
    functionSourceFile: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTCP_GET_LOST(rp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pvt
    - ap
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_acct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: rtpp_acct_get_nid
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - gethostname
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_acct_get_nid(struct rtpp_module_priv *pvt, struct rtpp_acct *ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: STR_INIT
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_INIT(str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:211,1
    - Dst: open
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:213,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:215,1
    - Dst: rtpp_acct_csv_lockf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:219,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:221,1
    - Dst: fstat
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:224,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:225,1
    - Dst: write
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:231,1
    - Dst: rtpp_acct_csv_unlockf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:236,1
    - Dst: rtpp_acct_csv_unlockf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:240,1
    - Dst: close
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_module_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 245
    functionName: rtpp_acct_csv_open
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - rtpp_acct_csv_lockf
    - RTPP_ELOG
    - write
    - close
    - open
    - rtpp_acct_csv_unlockf
    - fstat
    linkageType: ''
    returnType: int
    signature: int rtpp_acct_csv_open(struct rtpp_module_priv *pvt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mod_zmalloc
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:252,1
    - Dst: rtpp_sbuf_ctor
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:256,1
    - Dst: getpid
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:260,1
    - Dst: snprintf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:262,1
    - Dst: snprintf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:264,1
    - Dst: gethostname
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:267,1
    - Dst: strcpy
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:268,1
    - Dst: rtpp_acct_csv_open
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:272,1
    - Dst: rtpp_sbuf_dtor
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:278,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - cfsp
    - mself
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 283
    functionName: rtpp_acct_csv_ctor
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - gethostname
    - strcpy
    - mod_zmalloc
    - getpid
    - rtpp_sbuf_ctor
    - snprintf
    - rtpp_acct_csv_open
    - rtpp_sbuf_dtor
    - mod_free
    linkageType: ''
    returnType: struct rtpp_module_priv
    signature: 'struct rtpp_module_priv *

      rtpp_acct_csv_ctor(const struct rtpp_cfg *cfsp, struct rtpp_minfo *mself)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:289,1
    - Dst: rtpp_sbuf_dtor
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:290,1
    - Dst: mod_free
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_module_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: rtpp_acct_csv_dtor
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - mod_free
    - close
    - rtpp_sbuf_dtor
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_csv_dtor(struct rtpp_module_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: ES_IF_NULL
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ES_IF_NULL(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: TS2RT
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS2RT(ts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - sbuf
    - sblen
    argTypes:
    - struct rtpp_ssrc*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: format_ssrc
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void format_ssrc(struct rtpp_ssrc *sp, char *sbuf, size_t sblen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:314,1
    - Dst: sprintf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:315,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:317,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:320,1
    - Dst: sprintf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:321,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - nap_rtp
    - nap_rtcp
    - afp
    argTypes:
    - struct rtpp_netaddr*
    - struct rtpp_netaddr*
    - struct rtpp_mod_acct_face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: format_netaddr
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - sprintf
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: "void format_netaddr(struct rtpp_netaddr *nap_rtp, struct rtpp_netaddr
      *nap_rtcp,\n  struct rtpp_mod_acct_face *afp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: FMT_BOOL
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMT_BOOL(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:336,1
    - Dst: rtpp_acct_csv_open
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:339,1
    - Dst: rtpp_acct_csv_open
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:343,1
    - Dst: rtpp_acct_csv_lockf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:346,1
    - Dst: format_ssrc
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:351,1
    - Dst: format_ssrc
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:352,1
    - Dst: format_netaddr
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:353,1
    - Dst: format_netaddr
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:354,1
    - Dst: rtpp_sbuf_write
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:356,1
    - Dst: rtpp_acct_get_nid
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:362,1
    - Dst: ES_IF_NULL
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:363,1
    - Dst: ES_IF_NULL
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:363,1
    - Dst: TS2RT
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:364,1
    - Dst: TS2RT
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:364,1
    - Dst: TS2RT
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:364,1
    - Dst: TS2RT
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:365,1
    - Dst: TS2RT
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:365,1
    - Dst: TS2RT
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:366,1
    - Dst: FMT_BOOL
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:376,1
    - Dst: FMT_BOOL
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:376,1
    - Dst: rtpp_sbuf_extend
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:381,1
    - Dst: write
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:387,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:387,1
    - Dst: rtpp_sbuf_reset
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:388,1
    - Dst: rtpp_acct_csv_unlockf
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:390,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - pvt
    - acct
    argTypes:
    - struct rtpp_module_priv*
    - struct rtpp_acct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 391
    functionName: rtpp_acct_csv_do
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 0
    functionsReached:
    - stat
    - rtpp_acct_csv_lockf
    - write
    - rtpp_acct_get_nid
    - rtpp_sbuf_reset
    - RS_ULEN
    - rtpp_acct_csv_unlockf
    - format_netaddr
    - rtpp_acct_csv_open
    - FMT_BOOL
    - rtpp_sbuf_write
    - ES_IF_NULL
    - rtpp_sbuf_extend
    - TS2RT
    - format_ssrc
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_csv_do(struct rtpp_module_priv *pvt, struct rtpp_acct
      *acct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:399,1
    - Dst: fcntl
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:403,1
    - Dst: lseek
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 409
    functionName: rtpp_acct_csv_lockf
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 2
    functionsReached:
    - lseek
    - fcntl
    - memset
    linkageType: ''
    returnType: off_t
    signature: off_t rtpp_acct_csv_lockf(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:417,1
    - Dst: fcntl
      Src: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fd
    - offset
    argTypes:
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: rtpp_acct_csv_unlockf
    functionSourceFile: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    functionUses: 2
    functionsReached:
    - fcntl
    - memset
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_csv_unlockf(int fd, off_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_genuid.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_genuid.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_genuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.h:43,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_pcnt_strm.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_pcnt_strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - handle
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: RTPP_MEMDEB_REPORT
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_REPORT(handle, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - handle
    - ','
    - nostdout
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: RTPP_MEMDEB_REPORT2
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_REPORT2(handle, nostdout, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - handle
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: RTPP_MEMDEB_REPORT
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_REPORT(handle, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - appname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: RTPP_MEMDEB_STATIC
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_STATIC(appname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - appname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: RTPP_MEMDEB_INIT
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_INIT(appname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: RTPP_MEMDEB_APP_INIT
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_APP_INIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - appname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: RTPP_MEMDEB_INIT1
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_INIT1(appname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - appname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: RTPP_MEMDEB_FIN
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_FIN(appname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_nofile.c:58,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_nofile.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_nofile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: rtpp_nofile_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_nofile.c
    functionUses: 0
    functionsReached:
    - free
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_nofile_dtor(struct rtpp_nofile *pub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_nofile.c:67,1
    - Dst: getrlimit
      Src: /src/rtpproxy/src/rtpp_nofile.c:70,1
    - Dst: err
      Src: /src/rtpproxy/src/rtpp_nofile.c:71,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_nofile.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: rtpp_nofile_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_nofile.c
    functionUses: 0
    functionsReached:
    - rtpp_zmalloc
    - err
    - atomic_init
    - getrlimit
    linkageType: ''
    returnType: struct rtpp_nofile
    signature: 'struct rtpp_nofile *

      rtpp_nofile_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - np
    argTypes:
    - struct rtpp_nofile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: rtpp_rlim_max
    functionSourceFile: /src/rtpproxy/src/rtpp_nofile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long long
    signature: long long rtpp_rlim_max(const struct rtpp_nofile *np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cp
    - ','
    - af
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: RTPP_PT_SELECT
    functionSourceFile: /src/rtpproxy/src/rtpp_cfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_PT_SELECT(cp, af)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_timeout_data.c:51,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_timeout_data.c:51,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_timeout_data.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - ttp
    - tag
    argTypes:
    - struct rtpp_tnotify_target*
    - rtpp_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: rtpp_timeout_data_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_timeout_data.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - memcpy
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_timeout_data
    signature: 'struct rtpp_timeout_data *

      rtpp_timeout_data_ctor(struct rtpp_tnotify_target *ttp, const rtpp_str_t *tag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pubp
    - ','
    - pvtp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: EXT2PVT
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXT2PVT(pubp, pvtp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:176,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cb_arg
    - value
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: rtpp_packetport_try_push_many_pre_cb
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_try_push_many_pre_cb(void *cb_arg, void *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_sgnl_get_signum
      Src: /src/rtpproxy/src/rtpp_packetport.c:195,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:198,1
    - Dst: rtpp_wi_sgnl_get_data
      Src: /src/rtpproxy/src/rtpp_packetport.c:204,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:211,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_packetport.c:214,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:215,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:218,1
    - Dst: rtpp_packet_ext_link
      Src: /src/rtpproxy/src/rtpp_packetport.c:220,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - cb_arg
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 223
    functionName: rtpp_packetport_wi2pktxp
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_sgnl_get_data
    - rtpp_wi_sgnl_get_signum
    - RTPP_OBJ_DECREF
    - PUB2PVT
    - rtpp_packet_ext_link
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_packetport_wi2pktxp(void *cb_arg, void *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_packetport.c:240,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_packetport.c:241,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:242,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:248,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_packetport.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - dlen
    - port
    - data
    - dtor_f
    - dtor_arg
    argTypes:
    - int
    - unsigned int
    - void*
    - rtp_packet_ext_dtor_t
    - void*
    assertStmts:
    - condition: (dlen > 0)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/rtpproxy/src/rtpp_packetport.c
    - condition: (dlen <= MAX_RPKT_LEN)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/rtpproxy/src/rtpp_packetport.c
    constantsTouched: []
    func_position:
      end: 263
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 263
    functionName: rtp_packet_ext_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - assert
    - memcpy
    - RTPP_OBJ_DTOR_ATTACH_s
    linkageType: ''
    returnType: struct rtp_packet_ext
    signature: "struct rtp_packet_ext *\nrtp_packet_ext_ctor(int dlen, unsigned int
      port, const void *data,\n  rtp_packet_ext_dtor_t dtor_f, void *dtor_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:270,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: rtp_packet_ext_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtp_packet_ext_dtor(struct rtp_packet_ext *pktxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:279,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pktp
    - port
    argTypes:
    - struct rtp_packet*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 290
    functionName: rtpp_packet_ext_link
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_BORROW_s
    linkageType: ''
    returnType: struct rtp_packet_ext
    signature: 'struct rtp_packet_ext *

      rtpp_packet_ext_link(struct rtp_packet *pktp, unsigned int port)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 303
    functionName: rtpp_packet_ext_get_pkt
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtpp_packet_ext_get_pkt(struct rtp_packet_ext *pktxp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: rtpp_packet_ext_owns_data
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_packet_ext_owns_data(struct rtp_packet_ext *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: rtpp_packet_ext_get_rtime_wall
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: double
    signature: double rtpp_packet_ext_get_rtime_wall(const struct rtp_packet_ext *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: rtpp_packet_ext_get_rtime_mono
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: double
    signature: double rtpp_packet_ext_get_rtime_mono(const struct rtp_packet_ext *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pktxp
    - wall
    - mono
    argTypes:
    - struct rtp_packet_ext*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: rtpp_packet_ext_set_rtime
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_packet_ext_set_rtime(struct rtp_packet_ext *pktxp, double
      wall, double mono)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _Static_assert
      Src: /src/rtpproxy/src/rtpp_packetport.c:348,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_packetport.c:351,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_packetport.c:352,1
    - Dst: rtpp_packetport_ctor_args_valid
      Src: /src/rtpproxy/src/rtpp_packetport.c:352,1
    - Dst: rtpp_packetport_ctor_args_valid
      Src: /src/rtpproxy/src/rtpp_packetport.c:353,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:357,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_packetport.c:357,1
    - Dst: create_queue
      Src: /src/rtpproxy/src/rtpp_packetport.c:364,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:368,1
    - Dst: create_queue
      Src: /src/rtpproxy/src/rtpp_packetport.c:369,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:373,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_packetport.c:374,1
    - Dst: rtpp_queue_setmaxlen
      Src: /src/rtpproxy/src/rtpp_packetport.c:378,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:379,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:380,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:384,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:385,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:389,1
    - Dst: rtpp_hash_table_ctor
      Src: /src/rtpproxy/src/rtpp_packetport.c:390,1
    - Dst: rtpp_packetport_htkey_type
      Src: /src/rtpproxy/src/rtpp_packetport.c:390,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_packetport.c:395,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_packetport.c:396,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_packetport.c:402,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:403,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_packetport.c:407,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_packetport.c:408,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_packetport.c:409,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_packetport.c:411,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_packetport.c:413,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:417,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct rtpp_packetport_ctor_args*
    assertStmts:
    - condition: (ap != NULL)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/rtpproxy/src/rtpp_packetport.c
    - condition: (rtpp_packetport_ctor_args_valid(ap) != 0)
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/rtpproxy/src/rtpp_packetport.c
    constantsTouched: []
    func_position:
      end: 419
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 419
    functionName: rtpp_packetport_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - pthread_setname_np
    - rtpp_packetport_ctor_args_valid
    - RTPP_OBJ_DECREF
    - assert
    - rtpp_packetport_htkey_type
    - PUBINST_FININIT
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - pthread_create
    - atomic_init
    - rtpp_zmalloc
    - create_queue
    - _Static_assert
    - rtpp_wi_malloc_sgnl
    - PVT_RCOFFS
    - rtpp_queue_init
    - rtpp_rzmalloc
    - rtpp_queue_setmaxlen
    - rtpp_hash_table_ctor
    - RTPP_OBJ_DTOR_ATTACH_s
    linkageType: ''
    returnType: struct rtpp_packetport
    signature: 'struct rtpp_packetport *

      rtpp_packetport_ctor(const struct rtpp_packetport_ctor_args *ap)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:427,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:428,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:429,1
    - Dst: rtpp_packetport_queue
      Src: /src/rtpproxy/src/rtpp_packetport.c:430,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ext
    - pktxp
    argTypes:
    - struct rtpp_packetport*
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: rtpp_packetport_push
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - rtpp_packetport_queue
    - EXT2PVT
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_push(struct rtpp_packetport *ext, struct rtp_packet_ext
      *pktxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:441,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:442,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:443,1
    - Dst: try_push
      Src: /src/rtpproxy/src/rtpp_packetport.c:444,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ext
    - pktxp
    argTypes:
    - struct rtpp_packetport*
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: rtpp_packetport_try_push
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - EXT2PVT
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - try_push
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_try_push(struct rtpp_packetport *ext, struct rtp_packet_ext
      *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:457,1
    - Dst: try_push_many_pre
      Src: /src/rtpproxy/src/rtpp_packetport.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ext
    - pktxps
    - max_items
    argTypes:
    - struct rtpp_packetport*
    - struct rtp_packet_ext**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: rtpp_packetport_try_push_many
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - try_push_many_pre
    - EXT2PVT
    linkageType: ''
    returnType: size_t
    signature: "size_t rtpp_packetport_try_push_many(struct rtpp_packetport *ext,\n
      \ struct rtp_packet_ext **pktxps, size_t max_items)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:468,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_packetport.c:469,1
    - Dst: rtpp_packetport_emit_sgnl
      Src: /src/rtpproxy/src/rtpp_packetport.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ext
    argTypes:
    - struct rtpp_packetport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 480
    functionName: rtpp_packetport_flush
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - EXT2PVT
    - rtpp_packetport_emit_sgnl
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_flush(struct rtpp_packetport *ext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:487,1
    - Dst: rtpp_packetport_ismapped
      Src: /src/rtpproxy/src/rtpp_packetport.c:488,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ext
    argTypes:
    - struct rtpp_packetport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: rtpp_packetport_get_int
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - rtpp_packetport_ismapped
    - EXT2PVT
    linkageType: ''
    returnType: struct rtpp_packetport_int
    signature: 'struct rtpp_packetport_int *

      rtpp_packetport_get_int(struct rtpp_packetport *ext)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_pop
      Src: /src/rtpproxy/src/rtpp_packetport.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ext
    argTypes:
    - struct rtpp_packetport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: rtpp_packetport_try_pop
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - try_pop
    linkageType: ''
    returnType: struct rtp_packet_ext
    signature: 'struct rtp_packet_ext *

      rtpp_packetport_try_pop(struct rtpp_packetport *ext)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_pop_many
      Src: /src/rtpproxy/src/rtpp_packetport.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ext
    - pktxps
    - max_items
    argTypes:
    - struct rtpp_packetport*
    - struct rtp_packet_ext**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 515
    functionName: rtpp_packetport_try_pop_many
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - try_pop_many
    linkageType: ''
    returnType: size_t
    signature: "size_t rtpp_packetport_try_pop_many(struct rtpp_packetport *ext,\n
      \ struct rtp_packet_ext **pktxps, size_t max_items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:522,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - struct rtpp_packetport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: rtpp_packetport_next_in_port
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - EXT2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rtpp_packetport_next_in_port(struct rtpp_packetport *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXT2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:531,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - struct rtpp_packetport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: rtpp_packetport_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - EXT2PVT
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_dtor(struct rtpp_packetport *ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_packetport_queue_wi
      Src: /src/rtpproxy/src/rtpp_packetport.c:540,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_packetport.c:541,1
    - Dst: rtpp_packetport_drain_queue
      Src: /src/rtpproxy/src/rtpp_packetport.c:542,1
    - Dst: rtpp_packetport_drain_queue
      Src: /src/rtpproxy/src/rtpp_packetport.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_packetport_int_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 544
    functionName: rtpp_packetport_dtor_obj
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - rtpp_packetport_queue_wi
    - rtpp_packetport_drain_queue
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_dtor_obj(struct rtpp_packetport_int_priv *pvt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_items
      Src: /src/rtpproxy/src/rtpp_packetport.c:554,1
    - Dst: rtpp_packetport_proc_wi_batch
      Src: /src/rtpproxy/src/rtpp_packetport.c:558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 562
    functionName: rtpp_packetport_run_explicit
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_get_items
    - rtpp_packetport_proc_wi_batch
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_packetport_run_explicit(void *argp)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:574,1
    - Dst: rtpp_packetport_drain_out
      Src: /src/rtpproxy/src/rtpp_packetport.c:576,1
    - Dst: dtime2mtimespec
      Src: /src/rtpproxy/src/rtpp_packetport.c:579,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_packetport.c:579,1
    - Dst: rtpp_packetport_deadline_step
      Src: /src/rtpproxy/src/rtpp_packetport.c:581,1
    - Dst: rtpp_queue_get_items_by
      Src: /src/rtpproxy/src/rtpp_packetport.c:582,1
    - Dst: rtpp_queue_get_items
      Src: /src/rtpproxy/src/rtpp_packetport.c:587,1
    - Dst: rtpp_packetport_proc_wi_batch
      Src: /src/rtpproxy/src/rtpp_packetport.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 596
    functionName: rtpp_packetport_run_auto
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - getdtime
    - rtpp_packetport_proc_wi_batch
    - rtpp_packetport_deadline_step
    - dtime2mtimespec
    - rtpp_queue_get_items_by
    - rtpp_queue_get_items
    - CALL_SMETHOD
    - rtpp_packetport_drain_out
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_packetport_run_auto(void *argp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:605,1
    - Dst: rtpp_packetport_get_wi
      Src: /src/rtpproxy/src/rtpp_packetport.c:606,1
    - Dst: rtpp_packetport_queue_wi
      Src: /src/rtpproxy/src/rtpp_packetport.c:610,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - self
    - rport
    - pkt
    argTypes:
    - struct rtpp_packetport_int*
    - unsigned int
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 615
    functionName: rtpp_packetport_send_pkt_na
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - rtpp_packetport_queue_wi
    - PUB2PVT
    - rtpp_packetport_get_wi
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: "int rtpp_packetport_send_pkt_na(struct rtpp_packetport_int *self,\n
      \ unsigned int rport, struct rtp_packet *pkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:622,1
    - Dst: rtpp_packetport_nport_alloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_packetport_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: rtpp_packetport_next_in_port_int
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - rtpp_packetport_nport_alloc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rtpp_packetport_next_in_port_int(struct rtpp_packetport_int
      *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:631,1
    - Dst: rtpp_packetport_nport_alloc
      Src: /src/rtpproxy/src/rtpp_packetport.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_packetport_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: rtpp_packetport_next_out_port_int
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - rtpp_packetport_nport_alloc
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rtpp_packetport_next_out_port_int(struct rtpp_packetport_int
      *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_packetport.c:642,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:644,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:645,1
    - Dst: rtpp_packetport_nudge
      Src: /src/rtpproxy/src/rtpp_packetport.c:649,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - self
    - port
    - stp
    argTypes:
    - struct rtpp_packetport_int*
    - unsigned int
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 654
    functionName: rtpp_packetport_reg_stream
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - abort
    - PUB2PVT
    - rtpp_packetport_nudge
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_packetport_reg_stream(struct rtpp_packetport_int *self, unsigned
      int port,\n  struct rtpp_stream *stp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:661,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:664,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - self
    - spa
    - sidx
    - lport
    argTypes:
    - struct rtpp_packetport_int*
    - struct rtpp_session*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 670
    functionName: rtpp_packetport_reg_streams
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_packetport_reg_streams(struct rtpp_packetport_int *self,\n
      \ struct rtpp_session *spa, int sidx, unsigned int lport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:677,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - port
    argTypes:
    - struct rtpp_packetport_int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 679
    functionName: rtpp_packetport_unreg_stream
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_unreg_stream(struct rtpp_packetport_int *self,
      unsigned int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_packetport.c:687,1
    - Dst: rtpp_packetport_queue_wi
      Src: /src/rtpproxy/src/rtpp_packetport.c:691,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pvt
    - signum
    - data
    - dlen
    argTypes:
    - struct rtpp_packetport_int_priv*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 696
    functionName: rtpp_packetport_emit_sgnl
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - rtpp_packetport_queue_wi
    - rtpp_wi_malloc_sgnl
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: "int rtpp_packetport_emit_sgnl(struct rtpp_packetport_int_priv *pvt,
      int signum,\n  const void *data, size_t dlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_push
      Src: /src/rtpproxy/src/rtpp_packetport.c:703,1
    - Dst: try_pop
      Src: /src/rtpproxy/src/rtpp_packetport.c:704,1
    - Dst: rtp_packet_ext_dtor
      Src: /src/rtpproxy/src/rtpp_packetport.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - queue
    - pktxp
    argTypes:
    - struct SPMCQueue*
    - struct rtp_packet_ext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 710
    functionName: rtpp_packetport_queue
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - rtp_packet_ext_dtor
    - try_push
    - try_pop
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_queue(struct SPMCQueue *queue, struct rtp_packet_ext
      *pktxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:718,1
    - Dst: rtp_packet_get_wi
      Src: /src/rtpproxy/src/rtpp_packetport.c:719,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:721,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pkt
    - port
    argTypes:
    - struct rtp_packet*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 732
    functionName: rtpp_packetport_get_wi
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - rtp_packet_get_wi
    - RTPP_OBJ_INCREF
    - PUB2PVT
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_packetport_get_wi(struct rtp_packet *pkt, unsigned int port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_packetport.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pvt
    - wi
    argTypes:
    - struct rtpp_packetport_int_priv*
    - struct rtpp_wi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: rtpp_packetport_queue_wi
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 3
    functionsReached:
    - rtpp_queue_put_item
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_queue_wi(struct rtpp_packetport_int_priv *pvt,
      struct rtpp_wi *wi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: try_push_many_kv
      Src: /src/rtpproxy/src/rtpp_packetport.c:755,1
    - Dst: try_pop_many
      Src: /src/rtpproxy/src/rtpp_packetport.c:759,1
    - Dst: rtp_packet_ext_dtor
      Src: /src/rtpproxy/src/rtpp_packetport.c:764,1
    - Dst: rtpp_packetport_drain_out
      Src: /src/rtpproxy/src/rtpp_packetport.c:769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pvt
    - wis
    - nwis
    argTypes:
    - struct rtpp_packetport_int_priv*
    - struct rtpp_wi**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 772
    functionName: rtpp_packetport_proc_wi_batch
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 2
    functionsReached:
    - rtp_packet_ext_dtor
    - try_push_many_kv
    - try_pop_many
    - rtpp_packetport_drain_out
    linkageType: ''
    returnType: int
    signature: "int rtpp_packetport_proc_wi_batch(struct rtpp_packetport_int_priv
      *pvt,\n  struct rtpp_wi **wis, int nwis)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_packetport.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_packetport_int_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 783
    functionName: rtpp_packetport_out_run
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rtpp_packetport_out_run(struct rtpp_packetport_int_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_pop
      Src: /src/rtpproxy/src/rtpp_packetport.c:790,1
    - Dst: rtp_packet_ext_dtor
      Src: /src/rtpproxy/src/rtpp_packetport.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct SPMCQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: rtpp_packetport_drain_queue
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - rtp_packet_ext_dtor
    - try_pop
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_drain_queue(struct SPMCQueue *queue)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_packetport_out_run
      Src: /src/rtpproxy/src/rtpp_packetport.c:807,1
    - Dst: try_pop_many
      Src: /src/rtpproxy/src/rtpp_packetport.c:808,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_packetport.c:812,1
    - Dst: rtpp_packet_ext_get_pkt
      Src: /src/rtpproxy/src/rtpp_packetport.c:813,1
    - Dst: rtp_packet_ext_dtor
      Src: /src/rtpproxy/src/rtpp_packetport.c:815,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:818,1
    - Dst: rtp_packet_ext_dtor
      Src: /src/rtpproxy/src/rtpp_packetport.c:820,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:823,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:824,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_packetport.c:830,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:832,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_packetport.c:834,1
    - Dst: rtp_packet_ext_dtor
      Src: /src/rtpproxy/src/rtpp_packetport.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_packetport_int_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 838
    functionName: rtpp_packetport_drain_out
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 2
    functionsReached:
    - PUB2PVT
    - rtpp_packet_ext_get_pkt
    - RTPP_OBJ_DECREF
    - RC_DECREF
    - CALL_SMETHOD
    - rtp_packet_ext_dtor
    - try_pop_many
    - rtpp_packetport_out_run
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_drain_out(struct rtpp_packetport_int_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/rtpproxy/src/rtpp_packetport.c:847,1
    - Dst: mincore
      Src: /src/rtpproxy/src/rtpp_packetport.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: rtpp_packetport_ismapped
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - mincore
    - sysconf
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_ismapped(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_packetport_emit_sgnl
      Src: /src/rtpproxy/src/rtpp_packetport.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_packetport_int_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: rtpp_packetport_nudge
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached:
    - rtpp_packetport_emit_sgnl
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_nudge(struct rtpp_packetport_int_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: rtpp_packetport_htkey_type
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum rtpp_ht_key_types
    signature: enum rtpp_ht_key_types rtpp_packetport_htkey_type(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - deadline
    - tick
    argTypes:
    - struct timespec*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 881
    functionName: rtpp_packetport_deadline_step
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rtpp_packetport_deadline_step(struct timespec *deadline,\n  const
      struct timespec *tick)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct rtpp_packetport_ctor_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 903
    functionName: rtpp_packetport_ctor_args_valid
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtpp_packetport_ctor_args_valid(const struct rtpp_packetport_ctor_args
      *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_packetport.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: if
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: void
    signature: void if (rval == 0)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - codec_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: min_nsamples
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int min_nsamples(int codec_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtp_resizer.c:90,1
    - Dst: rtp_resizer_set_ptime
      Src: /src/rtpproxy/src/rtp_resizer.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - output_ptime
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: rtp_resizer_new
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - rtpp_zmalloc
    - rtp_resizer_set_ptime
    linkageType: ''
    returnType: struct rtp_resizer
    signature: 'struct rtp_resizer *

      rtp_resizer_new(int output_ptime)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtp_resizer.c:109,1
    - Dst: free
      Src: /src/rtpproxy/src/rtp_resizer.c:112,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtp_resizer.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - rtpp_stats
    - this
    argTypes:
    - struct rtpp_stats*
    - struct rtp_resizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: rtp_resizer_free
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - free
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtp_resizer_free(struct rtpp_stats *rtpp_stats, struct rtp_resizer
      *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - this
    argTypes:
    - struct rtp_resizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: rtp_resizer_get_ptime
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtp_resizer_get_ptime(struct rtp_resizer *this)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_resizer_get_ptime
      Src: /src/rtpproxy/src/rtp_resizer.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - this
    - ptime_new
    argTypes:
    - struct rtp_resizer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: rtp_resizer_set_ptime
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 1
    functionsReached:
    - rtp_resizer_get_ptime
    linkageType: ''
    returnType: int
    signature: int rtp_resizer_set_ptime(struct rtp_resizer *this, int ptime_new)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_parse
      Src: /src/rtpproxy/src/rtp_resizer.c:148,1
    - Dst: ts_less
      Src: /src/rtpproxy/src/rtp_resizer.c:164,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtp_resizer.c:167,1
    - Dst: ts_less
      Src: /src/rtpproxy/src/rtp_resizer.c:179,1
    - Dst: ts_less
      Src: /src/rtpproxy/src/rtp_resizer.c:183,1
    - Dst: ts_less
      Src: /src/rtpproxy/src/rtp_resizer.c:193,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 3
    argNames:
    - this
    - pkt
    - rsp
    argTypes:
    - struct rtp_resizer*
    - struct rtp_packet**
    - struct rtpp_proc_rstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 223
    functionName: rtp_resizer_enqueue
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - rtp_packet_parse
    - ts_less
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: "void rtp_resizer_enqueue(struct rtp_resizer *this, struct rtp_packet
      **pkt,\n  struct rtpp_proc_rstats *rsp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - this
    argTypes:
    - struct rtp_resizer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: detach_queue_head
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void detach_queue_head(struct rtp_resizer *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtp_resizer.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: append_packet
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void append_packet(struct rtp_packet *dst, struct rtp_packet *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtp_resizer.c:253,1
    - Dst: rtp_packet_set_ts
      Src: /src/rtpproxy/src/rtp_resizer.c:261,1
    - Dst: memmove
      Src: /src/rtpproxy/src/rtp_resizer.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - src
    - chunk
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: append_chunk
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    - rtp_packet_set_ts
    linkageType: ''
    returnType: void
    signature: void append_chunk(struct rtp_packet *dst, struct rtp_packet *src, const
      struct rtp_packet_chunk *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtp_resizer.c:272,1
    - Dst: rtp_packet_set_ts
      Src: /src/rtpproxy/src/rtp_resizer.c:280,1
    - Dst: memmove
      Src: /src/rtpproxy/src/rtp_resizer.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - src
    - chunk
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: move_chunk
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    - rtp_packet_set_ts
    linkageType: ''
    returnType: void
    signature: void move_chunk(struct rtp_packet *dst, struct rtp_packet *src, const
      struct rtp_packet_chunk *chunk)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ts_less
      Src: /src/rtpproxy/src/rtp_resizer.c:307,1
    - Dst: min_nsamples
      Src: /src/rtpproxy/src/rtp_resizer.c:313,1
    - Dst: rtp_packet_first_chunk_find
      Src: /src/rtpproxy/src/rtp_resizer.c:328,1
    - Dst: detach_queue_head
      Src: /src/rtpproxy/src/rtp_resizer.c:331,1
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/src/rtp_resizer.c:333,1
    - Dst: rtp_packet_dup
      Src: /src/rtpproxy/src/rtp_resizer.c:336,1
    - Dst: move_chunk
      Src: /src/rtpproxy/src/rtp_resizer.c:339,1
    - Dst: rtp_packet_first_chunk_find
      Src: /src/rtpproxy/src/rtp_resizer.c:363,1
    - Dst: append_packet
      Src: /src/rtpproxy/src/rtp_resizer.c:368,1
    - Dst: detach_queue_head
      Src: /src/rtpproxy/src/rtp_resizer.c:369,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtp_resizer.c:370,1
    - Dst: append_chunk
      Src: /src/rtpproxy/src/rtp_resizer.c:377,1
    - Dst: detach_queue_head
      Src: /src/rtpproxy/src/rtp_resizer.c:393,1
    - Dst: append_packet
      Src: /src/rtpproxy/src/rtp_resizer.c:406,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtp_resizer.c:407,1
    - Dst: rtp_packet_set_seq
      Src: /src/rtpproxy/src/rtp_resizer.c:415,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 2
    argNames:
    - this
    - dtime
    argTypes:
    - struct rtp_resizer*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 424
    functionName: rtp_resizer_get
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.c
    functionUses: 0
    functionsReached:
    - detach_queue_head
    - move_chunk
    - min_nsamples
    - append_packet
    - rtp_packet_set_seq
    - RTPP_OBJ_DECREF
    - append_chunk
    - ts_less
    - rtp_packet_first_chunk_find
    - rtp_packet_alloc
    - rtp_packet_dup
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtp_resizer_get(struct rtp_resizer *this, double dtime)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/rtpproxy/src/rtpp_command_stream.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - rcs
    argTypes:
    - struct rtpp_cmd_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: rtpp_command_stream_compact
    functionSourceFile: /src/rtpproxy/src/rtpp_command_stream.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void rtpp_command_stream_compact(struct rtpp_cmd_connection *rcs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_command_stream_compact
      Src: /src/rtpproxy/src/rtpp_command_stream.c:82,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_command_stream.c:87,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command_stream.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - cfsp
    - rcs
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_cmd_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: rtpp_command_stream_doio
    functionSourceFile: /src/rtpproxy/src/rtpp_command_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_ELOG
    - rtpp_command_stream_compact
    - read
    linkageType: ''
    returnType: int
    signature: int rtpp_command_stream_doio(const struct rtpp_cfg *cfsp, struct rtpp_cmd_connection
      *rcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_command_stream.c:111,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command_stream.c:112,1
    - Dst: IS_WEIRD_ERRNO
      Src: /src/rtpproxy/src/rtpp_command_stream.c:112,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command_stream.c:113,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_stream.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - log
    - controlfd
    - csp
    argTypes:
    - struct rtpp_log*
    - int
    - struct rtpp_command_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: rcs_reply_nomem
    functionSourceFile: /src/rtpproxy/src/rtpp_command_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_ELOG
    - write
    - RTPP_LOG
    - IS_WEIRD_ERRNO
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rcs_reply_nomem(struct rtpp_log *log, int controlfd, struct rtpp_command_stats
      *csp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/rtpproxy/src/rtpp_command_stream.c:135,1
    - Dst: rtpp_command_ctor
      Src: /src/rtpproxy/src/rtpp_command_stream.c:143,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_stream.c:146,1
    - Dst: rcs_reply_nomem
      Src: /src/rtpproxy/src/rtpp_command_stream.c:148,1
    - Dst: rtpp_command_set_raddr
      Src: /src/rtpproxy/src/rtpp_command_stream.c:154,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command_stream.c:154,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_command_stream.c:157,1
    - Dst: rtpp_command_split
      Src: /src/rtpproxy/src/rtpp_command_stream.c:161,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_stream.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 5
    argNames:
    - cfsp
    - rcs
    - rval
    - dtime
    - csp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_cmd_connection*
    - int*
    - struct rtpp_timestamp*
    - struct rtpp_command_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 168
    functionName: rtpp_command_stream_get
    functionSourceFile: /src/rtpproxy/src/rtpp_command_stream.c
    functionUses: 0
    functionsReached:
    - rtpp_command_set_raddr
    - rtpp_command_ctor
    - sstosa
    - memcpy
    - rcs_reply_nomem
    - memchr
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - rtpp_command_split
    linkageType: ''
    returnType: struct rtpp_command
    signature: "struct rtpp_command *\nrtpp_command_stream_get(const struct rtpp_cfg
      *cfsp, struct rtpp_cmd_connection *rcs,\n  int *rval, const struct rtpp_timestamp
      *dtime, struct rtpp_command_stats *csp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_module_if.c:151,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_module_if.c:154,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_module_if.c:154,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_module_if.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - mpath
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 171
    functionName: rtpp_module_if_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - strlen
    - memcpy
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_module_if
    signature: 'struct rtpp_module_if *

      rtpp_module_if_ctor(const char *mpath)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: packet_is_rtcp
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packet_is_rtcp(struct pkt_proc_ctx *pktx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_module_if.c:190,1
    - Dst: rtpp_acct_rtcp_ctor
      Src: /src/rtpproxy/src/rtpp_module_if.c:193,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:194,1
    - Dst: rtpp_mif_do_acct_rtcp
      Src: /src/rtpproxy/src/rtpp_module_if.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 200
    functionName: acct_rtcp_enqueue
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - rtpp_acct_rtcp_ctor
    - rtpp_mif_do_acct_rtcp
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act acct_rtcp_enqueue(const struct pkt_proc_ctx *pktx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_gcov_on
      Src: /src/rtpproxy/src/rtpp_module_if.c:208,1
    - Dst: dlopen
      Src: /src/rtpproxy/src/rtpp_module_if.c:209,1
    - Dst: dlerror
      Src: /src/rtpproxy/src/rtpp_module_if.c:211,1
    - Dst: strstr
      Src: /src/rtpproxy/src/rtpp_module_if.c:212,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:213,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:215,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_module_if.c:219,1
    - Dst: dlsym
      Src: /src/rtpproxy/src/rtpp_module_if.c:220,1
    - Dst: dlerror
      Src: /src/rtpproxy/src/rtpp_module_if.c:222,1
    - Dst: strstr
      Src: /src/rtpproxy/src/rtpp_module_if.c:223,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:224,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - self
    - mpath
    - log
    argTypes:
    - struct rtpp_module_if*
    - char*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: rtpp_modules_lookup
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - dlerror
    - dlopen
    - RTPP_LOG
    - RTPP_OBJ_DTOR_ATTACH_s
    - dlsym
    - strstr
    - is_gcov_on
    linkageType: ''
    returnType: struct rtpp_minfo
    signature: 'struct rtpp_minfo *

      rtpp_modules_lookup(struct rtpp_module_if *self, const char *mpath, struct rtpp_log
      *log)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:244,1
    - Dst: rtpp_static_modules_lookup
      Src: /src/rtpproxy/src/rtpp_module_if.c:247,1
    - Dst: rtpp_modules_lookup
      Src: /src/rtpproxy/src/rtpp_module_if.c:249,1
    - Dst: MI_VER_CHCK
      Src: /src/rtpproxy/src/rtpp_module_if.c:254,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:255,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_module_if.c:261,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_module_if.c:266,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_module_if.c:269,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:274,1
    - Dst: rtpp_memdeb_init
      Src: /src/rtpproxy/src/rtpp_module_if.c:278,1
    - Dst: rtpp_memdeb_setlog
      Src: /src/rtpproxy/src/rtpp_module_if.c:282,1
    - Dst: rtpp_memdeb_setname
      Src: /src/rtpproxy/src/rtpp_module_if.c:283,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_module_if.c:285,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:288,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_module_if.c:293,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_module_if.c:300,1
    - Dst: rtpp_queue_setmaxlen
      Src: /src/rtpproxy/src/rtpp_module_if.c:305,1
    - Dst: rtpp_acct_OSIZE
      Src: /src/rtpproxy/src/rtpp_module_if.c:308,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:309,1
    - Dst: rtpp_acct_rtcp_OSIZE
      Src: /src/rtpproxy/src/rtpp_module_if.c:314,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:315,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_module_if.c:323,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_module_if.c:331,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_module_if.c:334,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:335,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:340,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 3
    argNames:
    - self
    - cfsp
    - log
    argTypes:
    - struct rtpp_module_if*
    - struct rtpp_cfg*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 344
    functionName: rtpp_mif_load
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_destroy
    - RTPP_OBJ_DECREF
    - rtpp_memdeb_setname
    - CALL_METHOD
    - rtpp_acct_rtcp_OSIZE
    - RTPP_LOG
    - RTPP_OBJ_BORROW_s
    - MI_VER_CHCK
    - rtpp_acct_OSIZE
    - rtpp_wi_malloc_sgnl
    - rtpp_memdeb_setlog
    - rtpp_queue_init
    - rtpp_modules_lookup
    - rtpp_queue_setmaxlen
    - memcpy
    - rtpp_static_modules_lookup
    - RTPP_OBJ_DTOR_ATTACH_s
    - rtpp_memdeb_init
    - rtpp_memdeb_dumpstats
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_mif_load(struct rtpp_module_if *self, const struct rtpp_cfg
      *cfsp, struct rtpp_log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_module_if.c:353,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:354,1
    - Dst: rtpp_memdeb_dtor
      Src: /src/rtpproxy/src/rtpp_module_if.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mip
    argTypes:
    - struct rtpp_minfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 358
    functionName: rtpp_mif_memdeb_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_dumpstats
    - rtpp_memdeb_dtor
    - RTPP_LOG
    linkageType: ''
    returnType: void
    signature: void rtpp_mif_memdeb_dtor(struct rtpp_minfo *mip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:366,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:368,1
    - Dst: rtpp_module_if_fin
      Src: /src/rtpproxy/src/rtpp_module_if.c:370,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:373,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_module_if.c:375,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_module_if.c:379,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_module_if.c:381,1
    - Dst: struct rtpp_module_if_priv*::mi::proc::dtor
      Src: /src/rtpproxy/src/rtpp_module_if.c:384,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_module_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 387
    functionName: rtpp_mif_kaput
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_destroy
    - struct rtpp_module_if_priv*::mi::proc::dtor
    - rtpp_queue_put_item
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - RTPP_OBJ_INCREF
    - pthread_join
    - rtpp_module_if_fin
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_mif_kaput(struct rtpp_module_if *self)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_module_if.c:401,1
    - Dst: rtpp_wi_get_type
      Src: /src/rtpproxy/src/rtpp_module_if.c:402,1
    - Dst: rtpp_wi_sgnl_get_signum
      Src: /src/rtpproxy/src/rtpp_module_if.c:403,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:404,1
    - Dst: rtpp_wi_apis_getname
      Src: /src/rtpproxy/src/rtpp_module_if.c:410,1
    - Dst: rtpp_wi_apis_getnamearg
      Src: /src/rtpproxy/src/rtpp_module_if.c:414,1
    - Dst: struct rtpp_acct_handlers*::on_session_end::func
      Src: /src/rtpproxy/src/rtpp_module_if.c:416,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:417,1
    - Dst: rtpp_wi_apis_getnamearg
      Src: /src/rtpproxy/src/rtpp_module_if.c:422,1
    - Dst: struct rtpp_acct_handlers*::on_rtcp_rcvd::func
      Src: /src/rtpproxy/src/rtpp_module_if.c:424,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:425,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:427,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 429
    functionName: rtpp_mif_run_acct
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - struct rtpp_acct_handlers*::on_rtcp_rcvd::func
    - rtpp_wi_get_type
    - rtpp_wi_sgnl_get_signum
    - RTPP_OBJ_DECREF
    - struct rtpp_acct_handlers*::on_session_end::func
    - rtpp_wi_apis_getnamearg
    - rtpp_queue_get_item
    - rtpp_wi_apis_getname
    linkageType: ''
    returnType: void
    signature: void rtpp_mif_run_acct(void *argp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:437,1
    - Dst: rtpp_wi_malloc_apis
      Src: /src/rtpproxy/src/rtpp_module_if.c:438,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:440,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:444,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_module_if.c:445,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:447,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:449,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - self
    - acct
    argTypes:
    - struct rtpp_module_if*
    - struct rtpp_acct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: rtpp_mif_do_acct
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_put_item
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - RTPP_OBJ_INCREF
    - PUB2PVT
    - rtpp_wi_malloc_apis
    linkageType: ''
    returnType: void
    signature: void rtpp_mif_do_acct(struct rtpp_module_if *self, struct rtpp_acct
      *acct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:459,1
    - Dst: rtpp_wi_malloc_apis
      Src: /src/rtpproxy/src/rtpp_module_if.c:460,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:462,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:464,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_module_if.c:467,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:469,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:471,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_module_if.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - self
    - acct
    argTypes:
    - struct rtpp_module_if*
    - struct rtpp_acct_rtcp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: rtpp_mif_do_acct_rtcp
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 1
    functionsReached:
    - rtpp_queue_put_item
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - PUB2PVT
    - rtpp_wi_malloc_apis
    linkageType: ''
    returnType: void
    signature: void rtpp_mif_do_acct_rtcp(struct rtpp_module_if *self, struct rtpp_acct_rtcp
      *acct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: PTH_CB
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTH_CB(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:482,1
    - Dst: struct rtpp_module_if_priv*::mi::proc::ctor
      Src: /src/rtpproxy/src/rtpp_module_if.c:484,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:486,1
    - Dst: struct rtpp_module_if_priv*::mi::proc::config
      Src: /src/rtpproxy/src/rtpp_module_if.c:492,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_module_if.c:493,1
    - Dst: struct rtpp_module_if_priv*::mi::proc::dtor
      Src: /src/rtpproxy/src/rtpp_module_if.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - self
    - cfsp
    argTypes:
    - struct rtpp_module_if*
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 502
    functionName: rtpp_mif_construct
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - struct rtpp_module_if_priv*::mi::proc::dtor
    - struct rtpp_module_if_priv*::mi::proc::config
    - RTPP_LOG
    - struct rtpp_module_if_priv*::mi::proc::ctor
    linkageType: ''
    returnType: int
    signature: int rtpp_mif_construct(struct rtpp_module_if *self, const struct rtpp_cfg
      *cfsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:509,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_module_if.c:520,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_module_if.c:523,1
    - Dst: PTH_CB
      Src: /src/rtpproxy/src/rtpp_module_if.c:524,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_module_if.c:529,1
    - Dst: PTH_CB
      Src: /src/rtpproxy/src/rtpp_module_if.c:530,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_module_if.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - self
    - cfsp
    argTypes:
    - struct rtpp_module_if*
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 539
    functionName: rtpp_mif_start
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - pthread_setname_np
    - PTH_CB
    - CALL_SMETHOD
    - pthread_create
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_mif_start(struct rtpp_module_if *self, const struct rtpp_cfg
      *cfsp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:547,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_module_if.c:548,1
    - Dst: struct rtpp_module_if_priv*::mi::proc::get_mconf
      Src: /src/rtpproxy/src/rtpp_module_if.c:553,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_module_if.c:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - self
    - mcpp
    argTypes:
    - struct rtpp_module_if*
    - struct rtpp_module_conf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 560
    functionName: rtpp_mif_get_mconf
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_BORROW_s
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - struct rtpp_module_if_priv*::mi::proc::get_mconf
    linkageType: ''
    returnType: int
    signature: int rtpp_mif_get_mconf(struct rtpp_module_if *self, struct rtpp_module_conf
      **mcpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_module_if.c:570,1
    - Dst: struct rtpp_module_if_priv*::mi::capi::ul_subc_handle
      Src: /src/rtpproxy/src/rtpp_module_if.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ashap
    - ctxp
    argTypes:
    - struct after_success_h_args*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 572
    functionName: rtpp_mif_ul_subc_handle
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if.c
    functionUses: 0
    functionsReached:
    - struct rtpp_module_if_priv*::mi::capi::ul_subc_handle
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: "int rtpp_mif_ul_subc_handle(const struct after_success_h_args *ashap,\n
      \ const struct rtpp_subc_ctx *ctxp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_port_table.c:61,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_port_table.c:61,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_port_table.c:65,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_port_table.c:69,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_port_table.c:84,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_port_table.c:95,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_port_table.c:100,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_port_table.c:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - port_min
    - port_max
    - seq_ports
    - port_ctl
    argTypes:
    - int
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 105
    functionName: rtpp_port_table_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_port_table.c
    functionUses: 0
    functionsReached:
    - random
    - pthread_mutex_init
    - malloc
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_port_table
    signature: 'struct rtpp_port_table *

      rtpp_port_table_ctor(int port_min, int port_max, int seq_ports, uint16_t port_ctl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_port_table_fin
      Src: /src/rtpproxy/src/rtpp_port_table.c:111,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_port_table.c:112,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_port_table.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_ptbl_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: rtpp_ptbl_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_port_table.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_port_table_fin
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_ptbl_dtor(struct rtpp_ptbl_priv *pvt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_port_table.c:123,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_port_table.c:125,1
    - Dst: use_port
      Src: /src/rtpproxy/src/rtpp_port_table.c:131,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_port_table.c:134,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_port_table.c:140,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_port_table.c:148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - self
    - use_port
    - uarg
    argTypes:
    - struct rtpp_port_table*
    - rtpp_pt_use_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: rtpp_ptbl_get_port
    functionSourceFile: /src/rtpproxy/src/rtpp_port_table.c
    functionUses: 0
    functionsReached:
    - random
    - use_port
    - pthread_mutex_unlock
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_ptbl_get_port(struct rtpp_port_table *self, rtpp_pt_use_t
      use_port, void *uarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:55,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - thread
    - attr
    - (*start_routine)(void *)
    - arg
    argTypes:
    - pthread_t*
    - pthread_attr_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: rtpp_glitch_pthread_create
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - pthread_create
    linkageType: ''
    returnType: int
    signature: "int rtpp_glitch_pthread_create(pthread_t *thread, const pthread_attr_t
      *attr,\n  void *(*start_routine)(void *), void *arg, HERETYPEARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:69,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mutex
    - attr
    argTypes:
    - pthread_mutex_t*
    - pthread_mutexattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: rtpp_glitch_pthread_mutex_init
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: "int rtpp_glitch_pthread_mutex_init(pthread_mutex_t *mutex,\n  const
      pthread_mutexattr_t *attr, HERETYPEARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:81,1
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - domain
    - type
    - protocol
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: rtpp_glitch_socket
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - socket
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_socket(int domain, int type, int protocol, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:94,1
    - Dst: listen
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - backlog
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: rtpp_glitch_listen
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - listen
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_listen(int s, int backlog, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:108,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: rtpp_glitch_bind
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - bind
    linkageType: ''
    returnType: int
    signature: "int rtpp_glitch_bind(int s, const struct sockaddr *addr, socklen_t
      addrlen,\n  HERETYPEARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:123,1
    - Dst: accept
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:124,1
    - Dst: accept
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:126,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: rtpp_glitch_accept
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - accept
    - GLITCH_INJECT
    - close
    linkageType: ''
    returnType: int
    signature: "int rtpp_glitch_accept(int s, struct sockaddr *addr, socklen_t *addrlen,\n
      \ HERETYPEARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:141,1
    - Dst: send
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:142,1
    - Dst: shutdown
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - s
    - msg
    - len
    - flags
    argTypes:
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: rtpp_glitch_send
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - shutdown
    - GLITCH_INJECT
    - send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rtpp_glitch_send(int s, const void *msg, size_t len, int flags,\n
      \ HERETYPEARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:156,1
    - Dst: connect
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - s
    - name
    - namelen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: rtpp_glitch_connect
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - connect
    linkageType: ''
    returnType: int
    signature: "int rtpp_glitch_connect(int s, const struct sockaddr *name, socklen_t
      namelen,\n  HERETYPEARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:169,1
    - Dst: chmod
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: rtpp_glitch_chmod
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - chmod
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_chmod(const char *path, mode_t mode, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:182,1
    - Dst: fstat
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - sb
    argTypes:
    - int
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: rtpp_glitch_fstat
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - fstat
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_fstat(int fd, struct stat *sb, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:196,1
    - Dst: stat
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:197,1
    - Dst: stat
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - path
    - sb
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: rtpp_glitch_stat
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - stat
    - GLITCH_INJECT
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_stat(const char *path, struct stat *sb, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:210,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - hostname
    - servname
    - hints
    - res
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: rtpp_glitch_getaddrinfo
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - GLITCH_INJECT
    linkageType: ''
    returnType: int
    signature: "int rtpp_glitch_getaddrinfo(const char *hostname, const char *servname,\n
      \ const struct addrinfo *hints, struct addrinfo **res, HERETYPEARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT_IF
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:224,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:225,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:225,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:226,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:232,1
    - Dst: va_arg
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:233,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:234,1
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:235,1
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: rtpp_glitch_open
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT_IF
    - va_arg
    - va_start
    - open
    - strcmp
    - va_end
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_open(const char *path, int flags, HERETYPEARG, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:251,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:252,1
    - Dst: va_arg
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:253,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:254,1
    - Dst: fcntl
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - cmd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: rtpp_glitch_fcntl
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - va_arg
    - va_start
    - fcntl
    - GLITCH_INJECT
    - va_end
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_fcntl(int fd, int cmd, HERETYPEARG, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:268,1
    - Dst: getrlimit
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - resource
    - rlp
    argTypes:
    - int
    - struct rlimit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: rtpp_glitch_getrlimit
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - getrlimit
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_getrlimit(int resource, struct rlimit *rlp, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:281,1
    - Dst: setrlimit
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - resource
    - rlp
    argTypes:
    - int
    - struct rlimit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: rtpp_glitch_setrlimit
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - setrlimit
    - GLITCH_INJECT
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_setrlimit(int resource, struct rlimit *rlp, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:294,1
    - Dst: dup2
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - oldd
    - newd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: rtpp_glitch_dup2
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - dup2
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_dup2(int oldd, int newd, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:307,1
    - Dst: setuid
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - uid
    argTypes:
    - uid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 312
    functionName: rtpp_glitch_setuid
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - setuid
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_setuid(uid_t uid, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:320,1
    - Dst: setgid
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - gid
    argTypes:
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: rtpp_glitch_setgid
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - setgid
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_setgid(gid_t gid, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:333,1
    - Dst: pipe
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fildes
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: rtpp_glitch_pipe
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - pipe
    linkageType: ''
    returnType: int
    signature: int rtpp_glitch_pipe(int fildes[2], HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:346,1
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - buf
    - nbytes
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: rtpp_glitch_write
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rtpp_glitch_write(int fd, const void *buf, size_t nbytes, HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:359,1
    - Dst: setsid
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: rtpp_glitch_setsid
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - setsid
    linkageType: ''
    returnType: pid_t
    signature: pid_t rtpp_glitch_setsid(HERETYPEARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:372,1
    - Dst: fork
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: rtpp_glitch_fork
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - fork
    - GLITCH_INJECT
    linkageType: ''
    returnType: pid_t
    signature: pid_t rtpp_glitch_fork(HERETYPEARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:385,1
    - Dst: realpath
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:386,1
    - Dst: strncpy
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pathname
    - resolved_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 395
    functionName: rtpp_glitch_realpath
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - strncpy
    - realpath
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_glitch_realpath(const char *pathname, char *resolved_path, HERETYPEARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:403,1
    - Dst: mmap
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - addr
    - len
    - prot
    - flags
    - fd
    - offset
    argTypes:
    - void*
    - size_t
    - int
    - int
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: rtpp_glitch_mmap
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - mmap
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_glitch_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t
      offset, HERETYPEARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:419,1
    - Dst: dlopen
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: rtpp_glitch_dlopen
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - dlopen
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_glitch_dlopen(const char *path, int mode, HERETYPEARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: rtpp_glitch_dlerror
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - dlerror
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_glitch_dlerror(HERETYPEARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:446,1
    - Dst: dlsym
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - symbol
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: rtpp_glitch_dlsym
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - dlsym
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_glitch_dlsym(void *handle, const char *symbol, HERETYPEARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:464,1
    - Dst: fwrite
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:465,1
    - Dst: fwrite
      Src: /src/rtpproxy/src/rtpp_autoglitch.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: rtpp_glitch_fwrite
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.c
    functionUses: 0
    functionsReached:
    - GLITCH_INJECT
    - fwrite
    linkageType: ''
    returnType: size_t
    signature: "size_t rtpp_glitch_fwrite(const void *ptr, size_t size, size_t nmemb,\n
      \ FILE *stream, HERETYPEARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MIN
    functionSourceFile: /src/rtpproxy/src/rtpp_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MAX
    functionSourceFile: /src/rtpproxy/src/rtpp_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ABS
    functionSourceFile: /src/rtpproxy/src/rtpp_math.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_notify.c:94,1
    - Dst: rtpp_wi_get_type
      Src: /src/rtpproxy/src/rtpp_notify.c:95,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_notify.c:96,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_notify.c:99,1
    - Dst: do_notification
      Src: /src/rtpproxy/src/rtpp_notify.c:102,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_notify.c:105,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_notify.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: rtpp_notify_queue_run
    functionSourceFile: /src/rtpproxy/src/rtpp_notify.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_get_type
    - do_notification
    - RTPP_OBJ_DECREF
    - rtpp_queue_get_item
    - rtpp_wi_data_get_ptr
    linkageType: ''
    returnType: void
    signature: void rtpp_notify_queue_run(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_notify.c:115,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_notify.c:115,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_notify.c:119,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_notify.c:125,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_notify.c:130,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_notify.c:134,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_notify.c:137,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_notify.c:141,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_notify.c:146,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_notify.c:148,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_notify.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - glog
    argTypes:
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 153
    functionName: rtpp_notify_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_notify.c
    functionUses: 0
    functionsReached:
    - pthread_setname_np
    - rtpp_queue_destroy
    - rtpp_queue_init
    - rtpp_wi_malloc_sgnl
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - pthread_create
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_notify
    signature: 'struct rtpp_notify *

      rtpp_notify_ctor(struct rtpp_log *glog)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_notify.c:159,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_notify.c:160,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_notify.c:161,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_notify.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_notify_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: rtpp_notify_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_notify.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_put_item
    - pthread_join
    - rtpp_queue_destroy
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_notify_dtor(struct rtpp_notify_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_notify.c:175,1
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_notify.c:180,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_notify.c:185,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_notify.c:189,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_notify.c:193,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_notify.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - pub
    - rttp
    - notify_tag
    - notify_type
    argTypes:
    - struct rtpp_notify*
    - struct rtpp_tnotify_target*
    - rtpp_str_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 198
    functionName: rtpp_notify_schedule
    functionSourceFile: /src/rtpproxy/src/rtpp_notify.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - rtpp_wi_malloc_udata
    - rtpp_queue_put_item
    - memcpy
    - RTPP_OBJ_INCREF
    - memset
    linkageType: ''
    returnType: int
    signature: "int rtpp_notify_schedule(struct rtpp_notify *pub,\n  struct rtpp_tnotify_target
      *rttp, const rtpp_str_t *notify_tag,\n  const char *notify_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_notify.c:204,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_notify.c:205,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_notify.c:208,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_notify.c:210,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_notify.c:211,1
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_notify.c:213,1
    - Dst: RTPP_TNT_STYPE
      Src: /src/rtpproxy/src/rtpp_notify.c:213,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_notify.c:215,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_notify.c:219,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_notify.c:219,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_notify.c:220,1
    - Dst: connect
      Src: /src/rtpproxy/src/rtpp_notify.c:224,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_notify.c:225,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_notify.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - wi
    argTypes:
    - struct rtpp_notify_wi*
    assertStmts:
    - condition: (wi->rttp->connected == 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/rtpproxy/src/rtpp_notify.c
    - condition: (wi->rttp->socket_type != RTPP_TNS_FD)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/rtpproxy/src/rtpp_notify.c
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: reconnect_handler
    functionSourceFile: /src/rtpproxy/src/rtpp_notify.c
    functionUses: 0
    functionsReached:
    - SA_LEN
    - RTPP_ELOG
    - bind
    - close
    - RTPP_LOG
    - assert
    - RTPP_TNT_STYPE
    - socket
    - connect
    linkageType: ''
    returnType: void
    signature: void reconnect_handler(const struct rtpp_notify_wi *wi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reconnect_handler
      Src: /src/rtpproxy/src/rtpp_notify.c:244,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_notify.c:248,1
    - Dst: send
      Src: /src/rtpproxy/src/rtpp_notify.c:255,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_notify.c:260,1
    - Dst: do_notification
      Src: /src/rtpproxy/src/rtpp_notify.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - wi
    - retries
    argTypes:
    - struct rtpp_notify_wi*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 265
    functionName: do_notification
    functionSourceFile: /src/rtpproxy/src/rtpp_notify.c
    functionUses: 2
    functionsReached:
    - RTPP_ELOG
    - reconnect_handler
    - do_notification
    - RTPP_LOG
    - send
    linkageType: ''
    returnType: void
    signature: void do_notification(struct rtpp_notify_wi *wi, int retries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: pthread_mutex_lock
    functionSourceFile: /src/rtpproxy/src/rtpp_threads.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pthread_mutex_lock(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: pthread_mutex_unlock
    functionSourceFile: /src/rtpproxy/src/rtpp_threads.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pthread_mutex_unlock(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_timed.c:113,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_timed.c:114,1
    - Dst: rtpp_wi_sgnl_get_signum
      Src: /src/rtpproxy/src/rtpp_timed.c:115,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:116,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_timed.c:121,1
    - Dst: rtpp_timed_process
      Src: /src/rtpproxy/src/rtpp_timed.c:122,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/src/rtpp_timed.c:123,1
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_timed.c:126,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_timed.c:127,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_timed.c:128,1
    - Dst: struct rtpp_timed_wi*::cancel_cb::func
      Src: /src/rtpproxy/src/rtpp_timed.c:130,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:133,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:135,1
    - Dst: prdic_free
      Src: /src/rtpproxy/src/rtpp_timed.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: rtpp_timed_queue_run
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - getdtime
    - prdic_free
    - rtpp_queue_get_length
    - rtpp_wi_sgnl_get_signum
    - RTPP_OBJ_DECREF
    - RC_DECREF
    - rtpp_queue_get_item
    - struct rtpp_timed_wi*::cancel_cb::func
    - rtpp_wi_data_get_ptr
    - rtpp_timed_process
    - prdic_procrastinate
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_queue_run(void *argp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_timed.c:145,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_timed.c:145,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_timed.c:149,1
    - Dst: rtpp_queue_setqlen
      Src: /src/rtpproxy/src/rtpp_timed.c:153,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_timed.c:154,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_timed.c:162,1
    - Dst: prdic_init
      Src: /src/rtpproxy/src/rtpp_timed.c:166,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_timed.c:170,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_timed.c:175,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_timed.c:177,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_timed.c:180,1
    - Dst: prdic_free
      Src: /src/rtpproxy/src/rtpp_timed.c:183,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:185,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_timed.c:187,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_timed.c:189,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - run_period
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 194
    functionName: rtpp_timed_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - pthread_setname_np
    - getdtime
    - rtpp_queue_destroy
    - rtpp_queue_init
    - prdic_init
    - prdic_free
    - PUBINST_FININIT
    - rtpp_queue_setqlen
    - rtpp_wi_malloc_sgnl
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - pthread_create
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_timed
    signature: 'struct rtpp_timed *

      rtpp_timed_ctor(double run_period)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_timed.c:201,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_timed.c:202,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_timed.c:203,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_timed.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_timed*
    assertStmts:
    - condition: (rtpp_timed_cf->state == RT_ST_RUNNING)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/rtpproxy/src/rtpp_timed.c
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: rtpp_timed_shutdown
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_put_item
    - pthread_join
    - PUB2PVT
    - assert
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_shutdown(struct rtpp_timed *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_timed_shutdown
      Src: /src/rtpproxy/src/rtpp_timed.c:213,1
    - Dst: rtpp_timed_fin
      Src: /src/rtpproxy/src/rtpp_timed.c:215,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_timed.c:216,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_timed.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rtpp_timed_cf
    argTypes:
    - struct rtpp_timed_cf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: rtpp_timed_destroy
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - rtpp_timed_shutdown
    - rtpp_timed_fin
    - rtpp_queue_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_destroy(struct rtpp_timed_cf *rtpp_timed_cf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_timed.c:232,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_timed.c:236,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_timed.c:242,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_timed.c:246,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_timed.c:249,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_timed.c:255,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_timed.c:257,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_timed.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 7
    argNames:
    - pub
    - offset
    - callback_rcnt
    - cb_func
    - cancel_cb_func
    - cb_func_arg
    - support_cancel
    argTypes:
    - struct rtpp_timed*
    - double
    - struct rtpp_refcnt*
    - rtpp_timed_cb_t
    - rtpp_timed_cancel_cb_t
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 260
    functionName: rtpp_timed_schedule_base
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - getdtime
    - RC_INCREF
    - rtpp_wi_malloc_udata
    - rtpp_queue_put_item
    - RTPP_OBJ_INCREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - RTPP_OBJ_BORROW_s
    - memset
    linkageType: ''
    returnType: struct rtpp_timed_task
    signature: "struct rtpp_timed_task *\nrtpp_timed_schedule_base(struct rtpp_timed
      *pub, double offset,\n  struct rtpp_refcnt *callback_rcnt, rtpp_timed_cb_t cb_func,\n
      \ rtpp_timed_cancel_cb_t cancel_cb_func, void *cb_func_arg,\n  int support_cancel)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_timed_schedule_base
      Src: /src/rtpproxy/src/rtpp_timed.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - pub
    - offset
    - callback_rcnt
    - cb_func
    - cancel_cb_func
    - cb_func_arg
    argTypes:
    - struct rtpp_timed*
    - double
    - struct rtpp_refcnt*
    - rtpp_timed_cb_t
    - rtpp_timed_cancel_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: rtpp_timed_schedule_rc
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - rtpp_timed_schedule_base
    linkageType: ''
    returnType: struct rtpp_timed_task
    signature: "struct rtpp_timed_task *\nrtpp_timed_schedule_rc(struct rtpp_timed
      *pub, double offset,\n  struct rtpp_refcnt *callback_rcnt, rtpp_timed_cb_t cb_func,\n
      \ rtpp_timed_cancel_cb_t cancel_cb_func, void *cb_func_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_timed_schedule_base
      Src: /src/rtpproxy/src/rtpp_timed.c:284,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - pub
    - offset
    - cb_func
    - cancel_cb_func
    - cb_func_arg
    argTypes:
    - struct rtpp_timed*
    - double
    - rtpp_timed_cb_t
    - rtpp_timed_cancel_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: rtpp_timed_schedule
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - rtpp_timed_schedule_base
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: "int rtpp_timed_schedule(struct rtpp_timed *pub, double offset,\n  rtpp_timed_cb_t
      cb_func, rtpp_timed_cancel_cb_t cancel_cb_func,\n  void *cb_func_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_timed.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wi
    - p
    argTypes:
    - struct rtpp_wi*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: rtpp_timed_istime
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_data_get_ptr
    linkageType: ''
    returnType: int
    signature: int rtpp_timed_istime(struct rtpp_wi *wi, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_first_matching
      Src: /src/rtpproxy/src/rtpp_timed.c:323,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_timed.c:328,1
    - Dst: struct rtpp_timed_wi*::cb::func
      Src: /src/rtpproxy/src/rtpp_timed.c:329,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_timed.c:335,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:339,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - rtcp
    - ctime
    argTypes:
    - struct rtpp_timed_cf*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: rtpp_timed_process
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 1
    functionsReached:
    - rtpp_queue_put_item
    - struct rtpp_timed_wi*::cb::func
    - RTPP_OBJ_DECREF
    - RC_DECREF
    - rtpp_wi_data_get_ptr
    - rtpp_queue_get_first_matching
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_process(struct rtpp_timed_cf *rtcp, double ctime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_timed.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wia
    - p
    argTypes:
    - struct rtpp_wi*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 362
    functionName: rtpp_timed_match_wi
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_data_get_ptr
    linkageType: ''
    returnType: int
    signature: int rtpp_timed_match_wi(struct rtpp_wi *wia, void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_timed.c:372,1
    - Dst: rtpp_queue_get_first_matching
      Src: /src/rtpproxy/src/rtpp_timed.c:377,1
    - Dst: struct rtpp_timed_wi*::cancel_cb::func
      Src: /src/rtpproxy/src/rtpp_timed.c:383,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:386,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_timed.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - taskpub
    argTypes:
    - struct rtpp_timed_task*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 390
    functionName: rtpp_timed_cancel
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    - RC_DECREF
    - struct rtpp_timed_wi*::cancel_cb::func
    - PUB2PVT
    - rtpp_queue_get_first_matching
    linkageType: ''
    returnType: int
    signature: int rtpp_timed_cancel(struct rtpp_timed_task *taskpub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_cfile.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mname
    - buf
    - blen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: rtpp_module_dsop_canonic
    functionSourceFile: /src/rtpproxy/src/rtpp_cfile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_module_dsop_canonic(const char *mname, char *buf, size_t blen)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_cfile.c:80,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:82,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/src/rtpp_cfile.c:87,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:89,1
    - Dst: ucl_parser_add_fd
      Src: /src/rtpproxy/src/rtpp_cfile.c:94,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/src/rtpp_cfile.c:95,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:97,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/src/rtpp_cfile.c:101,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:102,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/src/rtpp_cfile.c:102,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/src/rtpp_cfile.c:107,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:109,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/src/rtpp_cfile.c:113,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/src/rtpp_cfile.c:114,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:115,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_cfile.c:116,1
    - Dst: parse_modules
      Src: /src/rtpproxy/src/rtpp_cfile.c:118,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:119,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:124,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/src/rtpp_cfile.c:130,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/src/rtpp_cfile.c:134,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/src/rtpp_cfile.c:136,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/src/rtpp_cfile.c:138,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_cfile.c:140,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - csp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 143
    functionName: rtpp_cfile_process
    functionSourceFile: /src/rtpproxy/src/rtpp_cfile.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_parser_get_object
    - RTPP_ELOG
    - ucl_object_iterate_new
    - parse_modules
    - ucl_parser_free
    - ucl_parser_get_error
    - strcasecmp
    - open
    - ucl_object_iter_chk_excpn
    - close
    - ucl_parser_new
    - RTPP_LOG
    - ucl_object_iterate_free
    - ucl_parser_add_fd
    - ucl_object_iterate_safe
    - ucl_object_key
    linkageType: ''
    returnType: int
    signature: int rtpp_cfile_process(const struct rtpp_cfg *csp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/src/rtpp_cfile.c:166,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/src/rtpp_cfile.c:170,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/src/rtpp_cfile.c:171,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:172,1
    - Dst: ucl_object_find_key
      Src: /src/rtpproxy/src/rtpp_cfile.c:173,1
    - Dst: rtpp_module_dsop_canonic
      Src: /src/rtpproxy/src/rtpp_cfile.c:175,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:177,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:183,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/src/rtpp_cfile.c:187,1
    - Dst: realpath
      Src: /src/rtpproxy/src/rtpp_cfile.c:188,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:190,1
    - Dst: rtpp_module_if_ctor
      Src: /src/rtpproxy/src/rtpp_cfile.c:195,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:197,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_cfile.c:201,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:202,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_cfile.c:205,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:206,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_cfile.c:213,1
    - Dst: conf_helper_mapper
      Src: /src/rtpproxy/src/rtpp_cfile.c:218,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:220,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:223,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_cfile.c:227,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_cfile.c:231,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_cfile.c:232,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/src/rtpp_cfile.c:236,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_cfile.c:237,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/src/rtpp_cfile.c:240,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 86
    argCount: 2
    argNames:
    - csp
    - wop
    argTypes:
    - struct rtpp_cfg*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 242
    functionName: parse_modules
    functionSourceFile: /src/rtpproxy/src/rtpp_cfile.c
    functionUses: 2
    functionsReached:
    - RTPP_ELOG
    - ucl_object_iterate_new
    - realpath
    - CALL_METHOD
    - ucl_object_iter_chk_excpn
    - rtpp_module_dsop_canonic
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - rtpp_module_if_ctor
    - ucl_object_iterate_free
    - conf_helper_mapper
    - ucl_object_tostring
    - ucl_object_iterate_safe
    - ucl_object_key
    - ucl_object_find_key
    linkageType: ''
    returnType: int
    signature: int parse_modules(const struct rtpp_cfg *csp, const ucl_object_t *wop)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/src/rtpp_cfile.c:255,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/src/rtpp_cfile.c:258,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/src/rtpp_cfile.c:259,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_cfile.c:262,1
    - Dst: callback
      Src: /src/rtpproxy/src/rtpp_cfile.c:266,1
    - Dst: callback
      Src: /src/rtpproxy/src/rtpp_cfile.c:274,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/src/rtpp_cfile.c:279,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/src/rtpp_cfile.c:281,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 5
    argNames:
    - log
    - obj
    - map
    - target
    - fentrpp
    argTypes:
    - struct rtpp_log*
    - ucl_object_t*
    - conf_helper_map*
    - void*
    - conf_helper_map**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 283
    functionName: conf_helper_mapper
    functionSourceFile: /src/rtpproxy/src/rtpp_cfile.c
    functionUses: 2
    functionsReached:
    - ucl_object_iterate_new
    - strcasecmp
    - ucl_object_iter_chk_excpn
    - ucl_object_iterate_free
    - ucl_object_iterate_safe
    - ucl_object_key
    - callback
    linkageType: ''
    returnType: bool
    signature: "bool conf_helper_mapper(struct rtpp_log *log, const ucl_object_t *obj,
      const conf_helper_map *map,\n  void *target, const conf_helper_map **fentrpp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: T_printf
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_printf(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - log
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: RTPP_LOG
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_LOG(log, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - log
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: RTPP_ELOG
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_ELOG(log, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sobj
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: FLUSH_STAT
    functionSourceFile: /src/rtpproxy/src/rtpp_proc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_STAT(sobj, st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_str.c:38,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_str.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct rtpp_str*
    - struct rtpp_str*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: _rtpp_str_dup2
    functionSourceFile: /src/rtpproxy/src/rtpp_str.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: struct rtpp_str
    signature: 'struct rtpp_str *

      _rtpp_str_dup2(const struct rtpp_str *src, struct rtpp_str *dst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/src/rtpp_fintest.c:57,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_fintest.c:63,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_fintest.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (_naborts > 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_fintest.c
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: rtpp_fintest
    functionSourceFile: /src/rtpproxy/src/rtpp_fintest.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_dumpstats
    - assert
    - RTPP_MEMDEB_APP_INIT
    linkageType: ''
    returnType: int
    signature: int rtpp_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: SET_FOREACH
    functionSourceFile: /src/rtpproxy/src/rtpp_fintest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SET_FOREACH(tp, rtpp_fintests)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: rtpp_wi_malloc_sgnl
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_sgnl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_wi_malloc_sgnl(args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_bindaddrs.h:51,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_bindaddrs.h:52,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_bindaddrs.h:53,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_bindaddrs.h:54,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_bindaddrs.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_bindaddrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:66,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:66,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:70,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:76,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - el_size
    - nelements
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: rtpp_ringbuf_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_ringbuf.c
    functionUses: 0
    functionsReached:
    - rtpp_zmalloc
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_ringbuf
    signature: 'struct rtpp_ringbuf *

      rtpp_ringbuf_ctor(size_t el_size, int nelements)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_ringbuf_fin
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:88,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_ringbuf_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: rtpp_ringbuf_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_ringbuf.c
    functionUses: 0
    functionsReached:
    - rtpp_ringbuf_fin
    - free
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_dtor(struct rtpp_ringbuf_priv *pvt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:98,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - struct rtpp_ringbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: rtpp_ringbuf_push
    functionSourceFile: /src/rtpproxy/src/rtpp_ringbuf.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_push(struct rtpp_ringbuf *self, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_ringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: rtpp_ringbuf_flush
    functionSourceFile: /src/rtpproxy/src/rtpp_ringbuf.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_flush(struct rtpp_ringbuf *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:127,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_ringbuf.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - struct rtpp_ringbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: rtpp_ringbuf_locate
    functionSourceFile: /src/rtpproxy/src/rtpp_ringbuf.c
    functionUses: 0
    functionsReached:
    - memcmp
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_ringbuf_locate(struct rtpp_ringbuf *self, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rmalloc
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:64,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:64,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:77,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:81,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:82,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - sock
    - msg
    - msg_len
    - flags
    - sendto
    - tolen
    argTypes:
    - int
    - void*
    - size_t
    - int
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: rtpp_wi_malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_pkt.c
    functionUses: 0
    functionsReached:
    - sstosa
    - memcpy
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - rtpp_rmalloc
    linkageType: ''
    returnType: struct rtpp_wi
    signature: "struct rtpp_wi *\nrtpp_wi_malloc(int sock, const void *msg, size_t
      msg_len, int flags,\n  const struct sockaddr *sendto, size_t tolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rmalloc
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:94,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:94,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:107,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:112,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - sock
    - msg
    - msg_len
    - flags
    - sendto
    - tolen
    - data_rcnt
    argTypes:
    - int
    - void*
    - size_t
    - int
    - struct sockaddr*
    - size_t
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: rtpp_wi_malloc_na
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_pkt.c
    functionUses: 0
    functionsReached:
    - sstosa
    - memcpy
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - rtpp_rmalloc
    linkageType: ''
    returnType: struct rtpp_wi
    signature: "struct rtpp_wi *\nrtpp_wi_malloc_na(int sock, const void *msg, size_t
      msg_len, int flags,\n  const struct sockaddr *sendto, size_t tolen, struct rtpp_refcnt
      *data_rcnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_get_wi
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:126,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:129,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:138,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:141,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:141,1
    - Dst: RTPP_OBJ_DTOR_ATTACH
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:142,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - sock
    - pkt
    - sendto
    - nsend
    - sock_rcnt
    argTypes:
    - int
    - struct rtp_packet*
    - struct rtpp_netaddr*
    - int
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: rtpp_wi_malloc_pkt_na
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_pkt.c
    functionUses: 0
    functionsReached:
    - RC_INCREF
    - RTPP_OBJ_DTOR_ATTACH
    - sstosa
    - CALL_SMETHOD
    - rtp_packet_get_wi
    - PUB2PVT
    linkageType: ''
    returnType: struct rtpp_wi
    signature: "struct rtpp_wi *\nrtpp_wi_malloc_pkt_na(int sock, struct rtp_packet
      *pkt,\n  struct rtpp_netaddr *sendto, int nsend,\n  struct rtpp_refcnt *sock_rcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_pkt_free
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wis
    argTypes:
    - struct rtpp_wi_sendto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: rtpp_wi_free
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_pkt.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_pkt_free
    linkageType: ''
    returnType: void
    signature: void rtpp_wi_free(struct rtpp_wi_sendto *wis)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:164,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_wi_pkt.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - wipp
    argTypes:
    - struct rtpp_wi_pvt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: rtpp_wi_pkt_free
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_pkt.c
    functionUses: 1
    functionsReached:
    - RC_DECREF
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_wi_pkt_free(struct rtpp_wi_pvt *wipp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_wref.c:64,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wref.c:64,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_wref.c:68,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_wref.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: rtpp_wref_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached:
    - PUBINST_FININIT
    - rtpp_rzmalloc
    - atomic_init
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_wref
    signature: 'struct rtpp_wref *

      rtpp_wref_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_wref.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached:
    - PUBINST_FININIT
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wref_fin
      Src: /src/rtpproxy/src/rtpp_wref.c:79,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:80,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:81,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:82,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_wref_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: rtpp_wref_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - rtpp_wref_fin
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_wref_dtor(struct rtpp_wref_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wref.c:91,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:92,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:93,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:93,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wref.c:94,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_wref.c:103,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pub
    - target
    - obj
    argTypes:
    - struct rtpp_wref*
    - struct rtpp_refcnt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: rtpp_wref_setref
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - RTPP_OBJ_INCREF
    - CALL_SMETHOD
    - atomic_store_explicit
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int rtpp_wref_setref(struct rtpp_wref *pub, struct rtpp_refcnt *target,
      void *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wref.c:114,1
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:116,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:118,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_wref.c:121,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_wref.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_wref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: rtpp_wref_inval
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached:
    - sched_yield
    - RTPP_OBJ_DECREF
    - atomic_compare_exchange_weak_explicit
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_wref_inval(struct rtpp_wref *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wref.c:137,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:138,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:140,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:143,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wref.c:144,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wref.c:145,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:146,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_wref.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_wref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: rtpp_wref_getref
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub_explicit
    - atomic_fetch_add_explicit
    - CALL_SMETHOD
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: struct rtpp_wref_target
    signature: 'struct rtpp_wref_target *

      rtpp_wref_getref(struct rtpp_wref *pub)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_wref.h:44,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_wref.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_wref.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_wref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: PP_NAME
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP_NAME(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pipe.h:56,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pipe.h:57,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pipe.h:58,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pipe.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_pipe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/rtpproxy/src/rtpp_threads.c:43,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_threads.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: rtpp_mutex_islocked
    functionSourceFile: /src/rtpproxy/src/rtpp_threads.c
    functionUses: 3
    functionsReached:
    - pthread_mutex_trylock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int rtpp_mutex_islocked(pthread_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_threads.c:58,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_threads.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    assertStmts:
    - condition: (rval == 0)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_threads.c
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: pthread_mutex_lock_safe
    functionSourceFile: /src/rtpproxy/src/rtpp_threads.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_lock_safe(pthread_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_threads.c:68,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_threads.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    assertStmts:
    - condition: (rval == 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/rtpproxy/src/rtpp_threads.c
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: pthread_mutex_unlock_safe
    functionSourceFile: /src/rtpproxy/src/rtpp_threads.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int pthread_mutex_unlock_safe(pthread_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: __RTPP_CONCAT1
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RTPP_CONCAT1(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: __RTPP_CONCAT
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RTPP_CONCAT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: __RTPP_STRING
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RTPP_STRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: __RTPP_XSTRING
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RTPP_XSTRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: __RTPP_WEAK
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RTPP_WEAK(sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: __RTPP_GLOBL
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __RTPP_GLOBL(sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: __rtpp_section
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __rtpp_section(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - set
    - ','
    - sym
    - ','
    - qv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: __MAKE_SET_QV
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAKE_SET_QV(set, sym, qv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: __MAKE_SET
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __MAKE_SET(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: TEXT_SET
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_SET(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: DATA_SET
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATA_SET(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: DATA_WSET
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATA_WSET(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: BSS_SET
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSS_SET(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: ABS_SET
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS_SET(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: SET_ENTRY
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_ENTRY(set, sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - ptype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: SET_DECLARE
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DECLARE(set, ptype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: SET_BEGIN
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BEGIN(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: SET_LIMIT
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_LIMIT(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pvar
    - ','
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: SET_FOREACH
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_FOREACH(pvar, set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - set
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: SET_ITEM
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_ITEM(set, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: SET_COUNT
    functionSourceFile: /src/rtpproxy/src/rtpp_linker_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_COUNT(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: RTPLM_GET
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPLM_GET(pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pvt
    - ','
    - newmode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: RTPLM_SET
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPLM_SET(pvt, newmode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:235,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:236,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:237,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: analyze_rtp_packet
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act analyze_rtp_packet(const struct pkt_proc_ctx *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: analyze_rtcp_packet
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act analyze_rtcp_packet(const struct pkt_proc_ctx *pktxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_resizer_enqueue
      Src: /src/rtpproxy/src/rtpp_stream.c:261,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 272
    functionName: resizer_injest
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - rtp_resizer_enqueue
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act resizer_injest(const struct pkt_proc_ctx *pktxp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_stream.c:290,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_stream.c:290,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_stream.c:294,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_stream.c:300,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_stream.c:301,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:302,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_stream.c:306,1
    - Dst: rtpp_analyzer_ctor
      Src: /src/rtpproxy/src/rtpp_stream.c:308,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_stream.c:312,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:320,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:322,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:334,1
    - Dst: rtpp_pcnt_strm_ctor
      Src: /src/rtpproxy/src/rtpp_stream.c:337,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_stream.c:341,1
    - Dst: rtpp_netaddr_ctor
      Src: /src/rtpproxy/src/rtpp_stream.c:342,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_stream.c:346,1
    - Dst: rtpp_netaddr_ctor
      Src: /src/rtpproxy/src/rtpp_stream.c:347,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_stream.c:351,1
    - Dst: rtpp_wref_ctor
      Src: /src/rtpproxy/src/rtpp_stream.c:352,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_stream.c:356,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_stream.c:358,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:364,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_stream.c:368,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_stream.c:377,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_stream.c:378,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_stream.c:379,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_stream.c:380,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_stream.c:381,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:385,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:388,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:391,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct r_stream_ctor_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 394
    functionName: rtpp_stream_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - atomic_init
    - rtpp_analyzer_ctor
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - rtpp_wref_ctor
    - RTPP_OBJ_DTOR_ATTACH_s
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - RTPP_OBJ_BORROW_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    - rtpp_pcnt_strm_ctor
    - rtpp_netaddr_ctor
    linkageType: ''
    returnType: struct rtpp_stream
    signature: 'struct rtpp_stream *

      rtpp_stream_ctor(const struct r_stream_ctor_args *ap)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:400,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:402,1
    - Dst: rtpp_stream_issendable
      Src: /src/rtpproxy/src/rtpp_stream.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pvt
    - rtps
    - replace
    argTypes:
    - struct rtpp_stream_priv*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: _s_rtps
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - rtpp_stream_issendable
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void _s_rtps(struct rtpp_stream_priv *pvt, uint64_t rtps, int replace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_stream_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: _rtpp_stream_get_actor
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      _rtpp_stream_get_actor(struct rtpp_stream_priv *pvt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_stream.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_stream_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: _rtpp_stream_get_proto
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PP_NAME
    linkageType: ''
    returnType: char
    signature: 'char *

      _rtpp_stream_get_proto(struct rtpp_stream_priv *pvt)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stream_fin
      Src: /src/rtpproxy/src/rtpp_stream.c:430,1
    - Dst: _rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:436,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:437,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_stream.c:439,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:444,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:449,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:452,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:455,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:458,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:461,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:465,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:467,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_stream.c:469,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:471,1
    - Dst: rtp_resizer_free
      Src: /src/rtpproxy/src/rtpp_stream.c:473,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:475,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_stream.c:478,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:480,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:484,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:486,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:488,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_stream_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 489
    functionName: rtpp_stream_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - free
    - rtp_resizer_free
    - atomic_load
    - _rtpp_stream_get_actor
    - rtpp_stream_fin
    - snprintf
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - RC_DECREF
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_dtor(struct rtpp_stream_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtpp_stats
    argTypes:
    - struct rtpp_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: player_predestroy_cb
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void player_predestroy_cb(struct rtpp_stats *rtpp_stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: drop_packets
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act drop_packets(const struct pkt_proc_ctx *pktxp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:519,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:528,1
    - Dst: strtol
      Src: /src/rtpproxy/src/rtpp_stream.c:531,1
    - Dst: rtpp_server_ctor
      Src: /src/rtpproxy/src/rtpp_stream.c:540,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:542,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:550,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:551,1
    - Dst: _s_rtps
      Src: /src/rtpproxy/src/rtpp_stream.c:552,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:553,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:560,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:562,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:566,1
    - Dst: rtpp_command_get_stats
      Src: /src/rtpproxy/src/rtpp_stream.c:567,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_stream.c:568,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:570,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:571,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:578,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:580,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:582,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:583,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - self
    - ap
    argTypes:
    - struct rtpp_stream*
    - struct r_stream_h_play_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 585
    functionName: rtpp_stream_handle_play
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - strtol
    - rtpp_server_ctor
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - RTPP_OBJ_DTOR_ATTACH_s
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - rtpp_command_get_stats
    - PUB2PVT
    - _s_rtps
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_stream_handle_play(struct rtpp_stream *self,\n  const struct
      r_stream_h_play_args *ap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:595,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:596,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:598,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:601,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:602,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:603,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:609,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 615
    functionName: rtpp_stream_handle_noplay
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_handle_noplay(struct rtpp_stream *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:623,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:624,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 628
    functionName: rtpp_stream_isplayer_active
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_stream_isplayer_active(struct rtpp_stream *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:635,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:636,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:638,1
    - Dst: _s_rtps
      Src: /src/rtpproxy/src/rtpp_stream.c:639,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:640,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - sruid
    argTypes:
    - struct rtpp_stream*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 644
    functionName: rtpp_stream_finish_playback
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - _s_rtps
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_finish_playback(struct rtpp_stream *self, uint64_t
      sruid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:651,1
    - Dst: _rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: rtpp_stream_get_actor
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 2
    functionsReached:
    - PUB2PVT
    - _rtpp_stream_get_actor
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_stream_get_actor(struct rtpp_stream *self)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_stream.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: rtpp_stream_get_proto
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PP_NAME
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_stream_get_proto(struct rtpp_stream *self)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RTPLM_GET
      Src: /src/rtpproxy/src/rtpp_stream.c:671,1
    - Dst: __rtpp_stream_fill_addr
      Src: /src/rtpproxy/src/rtpp_stream.c:672,1
    - Dst: _rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:681,1
    - Dst: _rtpp_stream_get_proto
      Src: /src/rtpproxy/src/rtpp_stream.c:682,1
    - Dst: rtp_packet_parse
      Src: /src/rtpproxy/src/rtpp_stream.c:685,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_stream.c:690,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_stream.c:691,1
    - Dst: addrport2char_r
      Src: /src/rtpproxy/src/rtpp_stream.c:704,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:704,1
    - Dst: SSRC_IS_BAD
      Src: /src/rtpproxy/src/rtpp_stream.c:705,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - pvt
    - dtime
    - packet
    argTypes:
    - struct rtpp_stream_priv*
    - double
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 718
    functionName: _rtpp_stream_latch
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - __rtpp_stream_fill_addr
    - _rtpp_stream_get_proto
    - RTPLM_GET
    - _rtpp_stream_get_actor
    - rtp_packet_parse
    - sstosa
    - snprintf
    - RTPP_LOG
    - SSRC_IS_BAD
    - addrport2char_r
    linkageType: ''
    returnType: int
    signature: "int _rtpp_stream_latch(struct rtpp_stream_priv *pvt, double dtime,\n
      \ struct rtp_packet *packet)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:725,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:726,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:728,1
    - Dst: _rtpp_stream_latch
      Src: /src/rtpproxy/src/rtpp_stream.c:731,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - self
    - packet
    argTypes:
    - struct rtpp_stream*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 734
    functionName: rtpp_stream_latch
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 1
    functionsReached:
    - _rtpp_stream_latch
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_stream_latch(struct rtpp_stream *self, struct rtp_packet *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:741,1
    - Dst: RTPLM_SET
      Src: /src/rtpproxy/src/rtpp_stream.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - mode
    argTypes:
    - struct rtpp_stream*
    - enum rtpps_latch_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: rtpp_stream_latch_setmode
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPLM_SET
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_latch_setmode(struct rtpp_stream *self, enum rtpps_latch_mode
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:750,1
    - Dst: RTPLM_GET
      Src: /src/rtpproxy/src/rtpp_stream.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: rtpp_stream_latch_getmode
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - RTPLM_GET
    linkageType: ''
    returnType: enum rtpps_latch_mode
    signature: enum rtpps_latch_mode rtpp_stream_latch_getmode(struct rtpp_stream
      *self)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_parse
      Src: /src/rtpproxy/src/rtpp_stream.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pvt
    - dtime
    - packet
    argTypes:
    - struct rtpp_stream_priv*
    - double
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 771
    functionName: _rtpp_stream_latch_sync
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - rtp_packet_parse
    linkageType: ''
    returnType: void
    signature: "void _rtpp_stream_latch_sync(struct rtpp_stream_priv *pvt, double
      dtime,\n  struct rtp_packet *packet)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RTPLM_GET
      Src: /src/rtpproxy/src/rtpp_stream.c:782,1
    - Dst: rtp_packet_parse
      Src: /src/rtpproxy/src/rtpp_stream.c:784,1
    - Dst: SEQ_DIST
      Src: /src/rtpproxy/src/rtpp_stream.c:789,1
    - Dst: _rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:793,1
    - Dst: addrport2char_r
      Src: /src/rtpproxy/src/rtpp_stream.c:795,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:795,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pvt
    - packet
    - dtime
    argTypes:
    - struct rtpp_stream_priv*
    - struct rtp_packet*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 804
    functionName: _rtpp_stream_check_latch_override
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPLM_GET
    - _rtpp_stream_get_actor
    - SEQ_DIST
    - rtp_packet_parse
    - sstosa
    - RTPP_LOG
    - addrport2char_r
    linkageType: ''
    returnType: int
    signature: "int _rtpp_stream_check_latch_override(struct rtpp_stream_priv *pvt,\n
      \ struct rtp_packet *packet, double dtime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:810,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pvt
    - dtime
    argTypes:
    - struct rtpp_stream_priv*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 813
    functionName: _rtpp_stream_plr_start
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void _rtpp_stream_plr_start(struct rtpp_stream_priv *pvt, double dtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:821,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:823,1
    - Dst: _rtpp_stream_plr_start
      Src: /src/rtpproxy/src/rtpp_stream.c:826,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pvt
    - dtime
    argTypes:
    - struct rtpp_stream_priv*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 828
    functionName: _rtpp_stream_update_sendable
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - _rtpp_stream_plr_start
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void _rtpp_stream_update_sendable(struct rtpp_stream_priv *pvt, double
      dtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:837,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:837,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:838,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:839,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:839,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:842,1
    - Dst: _rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:844,1
    - Dst: _rtpp_stream_get_proto
      Src: /src/rtpproxy/src/rtpp_stream.c:845,1
    - Dst: addrport2char_r
      Src: /src/rtpproxy/src/rtpp_stream.c:846,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:846,1
    - Dst: RTPLM_GET
      Src: /src/rtpproxy/src/rtpp_stream.c:847,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pvt
    - packet
    argTypes:
    - struct rtpp_stream_priv*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 851
    functionName: __rtpp_stream_fill_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 1
    functionsReached:
    - _rtpp_stream_get_proto
    - RTPLM_GET
    - _rtpp_stream_get_actor
    - sstosa
    - _rtpp_stream_update_sendable
    - RTPP_LOG
    - CALL_SMETHOD
    - addrport2char_r
    linkageType: ''
    returnType: void
    signature: void __rtpp_stream_fill_addr(struct rtpp_stream_priv *pvt, struct rtp_packet
      *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:862,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:863,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:865,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:866,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:866,1
    - Dst: rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:869,1
    - Dst: rtpp_stream_get_proto
      Src: /src/rtpproxy/src/rtpp_stream.c:870,1
    - Dst: ntohs
      Src: /src/rtpproxy/src/rtpp_stream.c:871,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_stream.c:871,1
    - Dst: IS_LAST_PORT
      Src: /src/rtpproxy/src/rtpp_stream.c:872,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_stream.c:876,1
    - Dst: setport
      Src: /src/rtpproxy/src/rtpp_stream.c:877,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:877,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:879,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:879,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:882,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - self
    - packet
    argTypes:
    - struct rtpp_stream*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 853
    functionDepth: 3
    functionLinenumber: 853
    functionLinenumberEnd: 887
    functionName: rtpp_stream_guess_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - rtpp_stream_get_proto
    - sstosa
    - memcpy
    - satosin
    - setport
    - _rtpp_stream_update_sendable
    - ntohs
    - RTPP_LOG
    - CALL_SMETHOD
    - IS_LAST_PORT
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - rtpp_stream_get_actor
    linkageType: ''
    returnType: int
    signature: "int rtpp_stream_guess_addr(struct rtpp_stream *self,\n  struct rtp_packet
      *packet)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:897,1
    - Dst: rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:899,1
    - Dst: rtpp_stream_get_proto
      Src: /src/rtpproxy/src/rtpp_stream.c:900,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:901,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:903,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:908,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:917,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:920,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:920,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:922,1
    - Dst: addrport2char_r
      Src: /src/rtpproxy/src/rtpp_stream.c:926,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:927,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:929,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:931,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:934,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_stream.c:934,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:935,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:936,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - self
    - iapp
    - dtime
    argTypes:
    - struct rtpp_stream*
    - struct sockaddr**
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 889
    functionDepth: 3
    functionLinenumber: 889
    functionLinenumberEnd: 937
    functionName: rtpp_stream_prefill_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - rtpp_stream_get_proto
    - SA_LEN
    - rtpp_stream_get_actor
    - _rtpp_stream_update_sendable
    - RTPP_LOG
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - addrport2char_r
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_stream_prefill_addr(struct rtpp_stream *self, struct sockaddr
      **iapp,\n  double dtime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:944,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:945,1
    - Dst: rtpp_stream_get_actor
      Src: /src/rtpproxy/src/rtpp_stream.c:947,1
    - Dst: rtpp_stream_get_proto
      Src: /src/rtpproxy/src/rtpp_stream.c:948,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_stream.c:949,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 955
    functionName: rtpp_stream_reg_onhold
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - rtpp_stream_get_proto
    - pthread_mutex_lock
    - RTPP_LOG
    - pthread_mutex_unlock
    - PUB2PVT
    - rtpp_stream_get_actor
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_reg_onhold(struct rtpp_stream *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:962,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:963,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:965,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:966,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:968,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:969,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:972,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:973,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_stream.c:975,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:976,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_stream.c:976,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - self
    - new_skt
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 957
    functionDepth: 3
    functionLinenumber: 957
    functionLinenumberEnd: 978
    functionName: rtpp_stream_set_skt
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - getdtime
    - _rtpp_stream_update_sendable
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_skt(struct rtpp_stream *self, struct rtpp_socket
      *new_skt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:986,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:987,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:989,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_stream.c:992,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - self
    - mlp
    argTypes:
    - struct rtpp_stream*
    - HERETYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 996
    functionName: rtpp_stream_get_skt
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_socket
    signature: 'struct rtpp_socket *

      rtpp_stream_get_skt(struct rtpp_stream *self, HERETYPE mlp)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_stream.c:1006,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1008,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1009,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1014,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1018,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1023,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:1028,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_stream.c:1028,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1029,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1031,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - self
    - packetport
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_packetport_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1033
    functionName: rtpp_stream_set_packetport
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - getdtime
    - _rtpp_stream_update_sendable
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - abort
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_stream_set_packetport(struct rtpp_stream *self,\n  const
      struct rtpp_packetport_ref *packetport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1045,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1046,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1050,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - self
    - packetport
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_packetport_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1054
    functionName: rtpp_stream_get_packetport
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_stream_get_packetport(struct rtpp_stream *self,\n  struct
      rtpp_packetport_ref *packetport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1062,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1063,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1067
    functionName: rtpp_stream_has_packetport
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_stream_has_packetport(struct rtpp_stream *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_stream.c:1075,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1076,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1077,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1079,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1081,1
    - Dst: _rtpp_stream_update_sendable
      Src: /src/rtpproxy/src/rtpp_stream.c:1082,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_stream.c:1082,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - self
    - new_skt
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1069
    functionDepth: 3
    functionLinenumber: 1069
    functionLinenumberEnd: 1085
    functionName: rtpp_stream_update_skt
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - getdtime
    - _rtpp_stream_update_sendable
    - RTPP_OBJ_INCREF
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_socket
    signature: 'struct rtpp_socket *

      rtpp_stream_update_skt(struct rtpp_stream *self, struct rtpp_socket *new_skt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1094,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1095,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1097,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1100,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - self
    - sap
    - pkt
    argTypes:
    - struct rtpp_stream*
    - struct sthread_args*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1105
    functionName: rtpp_stream_send_pkt
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_stream_send_pkt(struct rtpp_stream *self, struct sthread_args
      *sap,\n  struct rtp_packet *pkt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1114,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1115,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1119,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - self
    - sap
    - pkt
    - rem_addr
    argTypes:
    - struct rtpp_stream*
    - struct sthread_args*
    - struct rtp_packet*
    - struct rtpp_netaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1124
    functionName: rtpp_stream_send_pkt_to
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_stream_send_pkt_to(struct rtpp_stream *self, struct sthread_args
      *sap,\n  struct rtp_packet *pkt, struct rtpp_netaddr *rem_addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pvt
    - dtime
    argTypes:
    - struct rtpp_stream_priv*
    - struct rtpp_timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1134
    functionName: _rtpp_stream_recv_pkt
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct rtp_packet
    signature: "struct rtp_packet *\n_rtpp_stream_recv_pkt(struct rtpp_stream_priv
      *pvt,\n  const struct rtpp_timestamp *dtime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1141,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1143
    functionName: rtpp_stream_issendable
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 1
    functionsReached:
    - atomic_load_explicit
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_stream_issendable(struct rtpp_stream *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_stream_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1152
    functionName: _rtpp_stream_islatched
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _rtpp_stream_islatched(struct rtpp_stream_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1159,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1160,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: rtpp_stream_locklatch
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_locklatch(struct rtpp_stream *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1170,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1171,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - self
    - ahp
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_acct_hold*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1174
    functionName: rtpp_stream_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_stats(struct rtpp_stream *self, struct rtpp_acct_hold
      *ahp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __rtpp_stream_fill_addr
      Src: /src/rtpproxy/src/rtpp_stream.c:1183,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1187,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1192,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pvt
    - rtcps_wrt
    - packet
    argTypes:
    - struct rtpp_stream_priv*
    - struct rtpp_weakref*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1176
    functionDepth: 4
    functionLinenumber: 1176
    functionLinenumberEnd: 1195
    functionName: _rtpp_stream_fill_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 2
    functionsReached:
    - __rtpp_stream_fill_addr
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: "int _rtpp_stream_fill_addr(struct rtpp_stream_priv *pvt,\n  struct
      rtpp_weakref *rtcps_wrt, struct rtp_packet *packet)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1204,1
    - Dst: _rtpp_stream_recv_pkt
      Src: /src/rtpproxy/src/rtpp_stream.c:1205,1
    - Dst: rtpp_stream_check_limits
      Src: /src/rtpproxy/src/rtpp_stream.c:1211,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1212,1
    - Dst: RTPLM_GET
      Src: /src/rtpproxy/src/rtpp_stream.c:1217,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1220,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1221,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1224,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:1224,1
    - Dst: _rtpp_stream_islatched
      Src: /src/rtpproxy/src/rtpp_stream.c:1226,1
    - Dst: _rtpp_stream_check_latch_override
      Src: /src/rtpproxy/src/rtpp_stream.c:1227,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1232,1
    - Dst: _rtpp_stream_islatched
      Src: /src/rtpproxy/src/rtpp_stream.c:1234,1
    - Dst: _rtpp_stream_latch
      Src: /src/rtpproxy/src/rtpp_stream.c:1235,1
    - Dst: _rtpp_stream_fill_addr
      Src: /src/rtpproxy/src/rtpp_stream.c:1238,1
    - Dst: _rtpp_stream_islatched
      Src: /src/rtpproxy/src/rtpp_stream.c:1239,1
    - Dst: _rtpp_stream_latch
      Src: /src/rtpproxy/src/rtpp_stream.c:1240,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1247,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_stream.c:1247,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1252,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1257,1
    - Dst: _rtpp_stream_fill_addr
      Src: /src/rtpproxy/src/rtpp_stream.c:1259,1
    - Dst: _rtpp_stream_latch_sync
      Src: /src/rtpproxy/src/rtpp_stream.c:1261,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1262,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1267,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1268,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 4
    argNames:
    - self
    - rtcps_wrt
    - dtime
    - rsp
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_weakref*
    - struct rtpp_timestamp*
    - struct rtpp_proc_rstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1197
    functionDepth: 5
    functionLinenumber: 1197
    functionLinenumberEnd: 1271
    functionName: rtpp_stream_rx
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - _rtpp_stream_latch_sync
    - RTPLM_GET
    - _rtpp_stream_check_latch_override
    - sstosa
    - RTPP_OBJ_DECREF
    - _rtpp_stream_islatched
    - rtpp_stream_check_limits
    - _rtpp_stream_fill_addr
    - _rtpp_stream_recv_pkt
    - CALL_SMETHOD
    - _rtpp_stream_latch
    - pthread_mutex_unlock
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtp_packet
    signature: "struct rtp_packet *\nrtpp_stream_rx(struct rtpp_stream *self, struct
      rtpp_weakref *rtcps_wrt,\n  const struct rtpp_timestamp *dtime, struct rtpp_proc_rstats
      *rsp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1279,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stream.c:1280,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1281,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1282,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_stream.c:1286,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stream.c:1287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - self
    - retempty
    argTypes:
    - struct rtpp_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1289
    functionName: rtpp_stream_get_rem_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_netaddr
    signature: 'struct rtpp_netaddr *

      rtpp_stream_get_rem_addr(struct rtpp_stream *self, int retempty)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1296,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - sender
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1298
    functionName: rtpp_stream_link_sender
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int rtpp_stream_link_sender(struct rtpp_stream *self, struct rtpp_stream
      *sender)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1306,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1311
    functionName: rtpp_stream_get_sender
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct rtpp_stream
    signature: 'struct rtpp_stream *

      rtpp_stream_get_sender(struct rtpp_stream *self)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1318,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1319,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - pps
    argTypes:
    - struct rtpp_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1321
    functionName: rtpp_stream_set_pps_limit
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_pps_limit(struct rtpp_stream *self, int pps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1328,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - max_pkt_size
    argTypes:
    - struct rtpp_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1331
    functionName: rtpp_stream_set_max_pkt_size
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_max_pkt_size(struct rtpp_stream *self, int max_pkt_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1339,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1340,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1333
    functionDepth: 1
    functionLinenumber: 1333
    functionLinenumberEnd: 1342
    functionName: rtpp_stream_refill_pps_bucket
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - atomic_store_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_refill_pps_bucket(struct rtpp_stream *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1349,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1354,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_stream.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pvt
    - packet
    argTypes:
    - struct rtpp_stream_priv*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1361
    functionName: rtpp_stream_check_limits
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 1
    functionsReached:
    - atomic_fetch_sub_explicit
    - atomic_load_explicit
    linkageType: ''
    returnType: int
    signature: int rtpp_stream_check_limits(struct rtpp_stream_priv *pvt, struct rtp_packet
      *packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_stream.c:1368,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1369,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stream.c:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1373
    functionName: rtpp_stream_unreg
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_unreg(struct rtpp_stream *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rqp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: RTPPQ_REMOVE_HEAD
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPPQ_REMOVE_HEAD(rqp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rqp
    - ','
    - wip
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: RTPPQ_REMOVE_AFTER
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPPQ_REMOVE_AFTER(rqp, wip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rqp
    - ','
    - wip
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: RTPPQ_APPEND
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPPQ_APPEND(rqp, wip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - nc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: RTP_PROFILE_AUDIO
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PROFILE_AUDIO(s, nc)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ch
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: g723_len
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int g723_len(unsigned char ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g723_len
      Src: /src/rtpproxy/src/rtp.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - maxlen
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: g723_samples
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached:
    - g723_len
    linkageType: ''
    returnType: int
    signature: int g723_samples(const unsigned char *buf, int maxlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: g723_samples
      Src: /src/rtpproxy/src/rtp.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - codec_id
    - nbytes
    - data
    argTypes:
    - int
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: rtp_calc_samples
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached:
    - g723_samples
    linkageType: ''
    returnType: int
    signature: int rtp_calc_samples(int codec_id, size_t nbytes, const unsigned char
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pkt
    - ret
    - min_nsamples
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: rtp_packet_chunk_find_g711
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtp_packet_chunk_find_g711(struct rtp_packet *pkt, struct rtp_packet_chunk
      *ret, int min_nsamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - ret
    - min_nsamples
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: rtp_packet_chunk_find_g729
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtp_packet_chunk_find_g729(struct rtp_packet *pkt, struct rtp_packet_chunk
      *ret, int min_nsamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pkt
    - ret
    - min_nsamples
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: rtp_packet_chunk_find_gsm
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtp_packet_chunk_find_gsm(struct rtp_packet *pkt, struct rtp_packet_chunk
      *ret, int min_nsamples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g723_len
      Src: /src/rtpproxy/src/rtp.c:187,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtp.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pkt
    - ret
    - min_nsamples
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    - int
    assertStmts:
    - condition: (n != RTP_NSAMPLES_UNKNOWN)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/rtpproxy/src/rtp.c
    constantsTouched: []
    func_position:
      end: 193
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 193
    functionName: rtp_packet_chunk_find_g723
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached:
    - g723_len
    - assert
    linkageType: ''
    returnType: void
    signature: void rtp_packet_chunk_find_g723(struct rtp_packet *pkt, struct rtp_packet_chunk
      *ret, int min_nsamples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pkt
    - ret
    - min_nsamples
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: rtp_packet_chunk_find_g722
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtp_packet_chunk_find_g722(struct rtp_packet *pkt, struct rtp_packet_chunk
      *ret, int min_nsamples)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtp.c:213,1
    - Dst: rtp_packet_chunk_find_g711
      Src: /src/rtpproxy/src/rtp.c:219,1
    - Dst: rtp_packet_chunk_find_g729
      Src: /src/rtpproxy/src/rtp.c:223,1
    - Dst: rtp_packet_chunk_find_gsm
      Src: /src/rtpproxy/src/rtp.c:227,1
    - Dst: rtp_packet_chunk_find_g723
      Src: /src/rtpproxy/src/rtp.c:231,1
    - Dst: rtp_packet_chunk_find_g722
      Src: /src/rtpproxy/src/rtp.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pkt
    - ret
    - min_nsamples
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet_chunk*
    - int
    assertStmts:
    - condition: (pkt->parsed->nsamples > min_nsamples)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/rtpproxy/src/rtp.c
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: rtp_packet_first_chunk_find
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 1
    functionsReached:
    - rtp_packet_chunk_find_g722
    - rtp_packet_chunk_find_g711
    - rtp_packet_chunk_find_g729
    - assert
    - rtp_packet_chunk_find_gsm
    - rtp_packet_chunk_find_g723
    linkageType: ''
    returnType: void
    signature: void rtp_packet_first_chunk_find(struct rtp_packet *pkt, struct rtp_packet_chunk
      *ret, int min_nsamples)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtp.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - ecode
    argTypes:
    - rtp_parser_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 278
    functionName: rtp_packet_parse_errstr
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      rtp_packet_parse_errstr(rtp_parser_err_t ecode)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RTP_HDR_LEN
      Src: /src/rtpproxy/src/rtp.c:302,1
    - Dst: ntohs
      Src: /src/rtpproxy/src/rtp.c:309,1
    - Dst: ntohl
      Src: /src/rtpproxy/src/rtp.c:327,1
    - Dst: ntohs
      Src: /src/rtpproxy/src/rtp.c:328,1
    - Dst: ntohl
      Src: /src/rtpproxy/src/rtp.c:329,1
    - Dst: rtp_calc_samples
      Src: /src/rtpproxy/src/rtp.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - buf
    - size
    - rinfo
    argTypes:
    - unsigned char*
    - size_t
    - struct rtp_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 344
    functionName: rtp_packet_parse_raw
    functionSourceFile: /src/rtpproxy/src/rtp.c
    functionUses: 0
    functionsReached:
    - ntohs
    - rtp_calc_samples
    - ntohl
    - RTP_HDR_LEN
    linkageType: ''
    returnType: rtp_parser_err_t
    signature: rtp_parser_err_t rtp_packet_parse_raw(const unsigned char *buf, size_t
      size, struct rtp_info *rinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ringbuf.h:39,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ringbuf.h:40,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ringbuf.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_ringbuf.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_ringbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_server.h:57,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_server.h:58,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_server.h:59,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_server.h:60,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_server.h:61,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_server.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_server.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_server)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_weakref.c:83,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_weakref.c:83,1
    - Dst: rtpp_hash_table_ctor
      Src: /src/rtpproxy/src/rtpp_weakref.c:87,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_weakref.c:92,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_weakref.c:95,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_weakref.c:98,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_weakref.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: rtpp_weakref_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - PUBINST_FININIT
    - rtpp_hash_table_ctor
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_weakref
    signature: 'struct rtpp_weakref *

      rtpp_weakref_ctor(void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:112,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_weakref.c:115,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:123,1
    - Dst: struct rtpp_weakref_priv*::on_first::func
      Src: /src/rtpproxy/src/rtpp_weakref.c:128,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_weakref.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pub
    - sp
    - suid
    argTypes:
    - struct rtpp_weakref*
    - struct rtpp_refcnt*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 132
    functionName: rtpp_weakref_reg
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - struct rtpp_weakref_priv*::on_first::func
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_weakref_reg(struct rtpp_weakref *pub, struct rtpp_refcnt
      *sp,\n  uint64_t suid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:141,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_weakref.c:144,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:151,1
    - Dst: struct rtpp_weakref_priv*::on_last::func
      Src: /src/rtpproxy/src/rtpp_weakref.c:155,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_weakref.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pub
    - suid
    argTypes:
    - struct rtpp_weakref*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: rtpp_weakref_unreg
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - struct rtpp_weakref_priv*::on_last::func
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: 'struct rtpp_refcnt *

      rtpp_weakref_unreg(struct rtpp_weakref *pub, uint64_t suid)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:171,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:172,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_weakref.c:175,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_weakref.c:179,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:183,1
    - Dst: struct rtpp_weakref_priv*::on_last::func
      Src: /src/rtpproxy/src/rtpp_weakref.c:187,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_weakref.c:188,1
    - Dst: on_first::func
      Src: /src/rtpproxy/src/rtpp_weakref.c:192,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_weakref.c:193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pub
    - suid
    - other
    argTypes:
    - struct rtpp_weakref*
    - uint64_t
    - struct rtpp_weakref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 197
    functionName: rtpp_weakref_move
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - struct rtpp_weakref_priv*::on_last::func
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - on_first::func
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: "struct rtpp_refcnt *\nrtpp_weakref_move(struct rtpp_weakref *pub,
      uint64_t suid,\n  struct rtpp_weakref *other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_weakref_fin
      Src: /src/rtpproxy/src/rtpp_weakref.c:203,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_weakref.c:204,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_weakref.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_weakref_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: rtpp_weakref_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    - rtpp_weakref_fin
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_weakref_dtor(struct rtpp_weakref_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:214,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:216,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pub
    - suid
    argTypes:
    - struct rtpp_weakref*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: rtpp_wrt_get_by_idx
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_wrt_get_by_idx(struct rtpp_weakref *pub, uint64_t suid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:230,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_weakref.c:233,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:240,1
    - Dst: struct rtpp_weakref_priv*::on_last::func
      Src: /src/rtpproxy/src/rtpp_weakref.c:244,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_weakref.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pub
    - foreach_f
    - foreach_d
    argTypes:
    - struct rtpp_weakref*
    - rtpp_weakref_foreach_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 247
    functionName: rtpp_wrt_foreach
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - struct rtpp_weakref_priv*::on_last::func
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_wrt_foreach(struct rtpp_weakref *pub, rtpp_weakref_foreach_t
      foreach_f,\n  void *foreach_d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:254,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_weakref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: rtpp_wrt_get_length
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int rtpp_wrt_get_length(struct rtpp_weakref *pub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:264,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_weakref.c:267,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_weakref.c:270,1
    - Dst: struct rtpp_weakref_priv*::on_last::func
      Src: /src/rtpproxy/src/rtpp_weakref.c:274,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_weakref.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_weakref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 278
    functionName: rtpp_wrt_purge
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - struct rtpp_weakref_priv*::on_last::func
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_wrt_purge(struct rtpp_weakref *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pub
    - cb_func
    - cb_func_arg
    argTypes:
    - struct rtpp_weakref*
    - rtpp_weakref_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 292
    functionName: rtpp_wrt_set_on_first
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: rtpp_weakref_cb_t
    signature: "rtpp_weakref_cb_t rtpp_wrt_set_on_first(struct rtpp_weakref *pub,
      rtpp_weakref_cb_t cb_func,\n  void *cb_func_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_weakref.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pub
    - cb_func
    - cb_func_arg
    argTypes:
    - struct rtpp_weakref*
    - rtpp_weakref_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: rtpp_wrt_set_on_last
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: rtpp_weakref_cb_t
    signature: "rtpp_weakref_cb_t rtpp_wrt_set_on_last(struct rtpp_weakref *pub, rtpp_weakref_cb_t
      cb_func,\n  void *cb_func_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/rtpproxy/src/rtpp_time.c:41,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/src/rtpp_time.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - clock_id
    argTypes:
    - clockid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: _getdtime
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - timespec2dtime
    linkageType: ''
    returnType: double
    signature: double _getdtime(clockid_t clock_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getdtime
      Src: /src/rtpproxy/src/rtpp_time.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: getdtime
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 8
    functionsReached:
    - _getdtime
    linkageType: ''
    returnType: double
    signature: double getdtime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getdtime
      Src: /src/rtpproxy/src/rtpp_time.c:58,1
    - Dst: _getdtime
      Src: /src/rtpproxy/src/rtpp_time.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tp
    argTypes:
    - struct rtpp_timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: rtpp_timestamp_get
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 0
    functionsReached:
    - _getdtime
    linkageType: ''
    returnType: void
    signature: void rtpp_timestamp_get(struct rtpp_timestamp *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_time.c:66,1
    - Dst: trunc
      Src: /src/rtpproxy/src/rtpp_time.c:66,1
    - Dst: NSEC
      Src: /src/rtpproxy/src/rtpp_time.c:67,1
    - Dst: round
      Src: /src/rtpproxy/src/rtpp_time.c:67,1
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_time.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dtime
    - mtime
    argTypes:
    - double
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: dtime2mtimespec
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 1
    functionsReached:
    - trunc
    - NSEC
    - round
    - SEC
    linkageType: ''
    returnType: void
    signature: void dtime2mtimespec(double dtime, struct timespec *mtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_time.c:74,1
    - Dst: trunc
      Src: /src/rtpproxy/src/rtpp_time.c:74,1
    - Dst: USEC
      Src: /src/rtpproxy/src/rtpp_time.c:75,1
    - Dst: round
      Src: /src/rtpproxy/src/rtpp_time.c:75,1
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_time.c:75,1
    - Dst: USEC
      Src: /src/rtpproxy/src/rtpp_time.c:76,1
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_time.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dtime
    - tvp
    argTypes:
    - double
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: dtime2timeval
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 1
    functionsReached:
    - trunc
    - round
    - SEC
    - USEC
    linkageType: ''
    returnType: void
    signature: void dtime2timeval(double dtime, struct timeval *tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: USEC
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void USEC(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: get_mclock_name
    functionSourceFile: /src/rtpproxy/src/rtpp_time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_mclock_name(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dp
    - ','
    - sp
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: _memcpy
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _memcpy(dp, sp, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: UNUSED
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: MEMDEB_SIGNATURE_ALLOC
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMDEB_SIGNATURE_ALLOC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: MEMDEB_SIGNATURE_FREE
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMDEB_SIGNATURE_FREE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: MEMDEB_SIGNATURE_PRIV
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMDEB_SIGNATURE_PRIV(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:129,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_memdeb.c:133,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_memdeb.c:134,1
    - Dst: MEMDEB_SIGNATURE_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:136,1
    - Dst: STR
      Src: /src/rtpproxy/src/rtpp_memdeb.c:137,1
    - Dst: rtpp_glitch_init
      Src: /src/rtpproxy/src/rtpp_memdeb.c:140,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - is_main
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: rtpp_memdeb_init
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_mutex_init
    - malloc
    - rtpp_glitch_init
    - MEMDEB_SIGNATURE_PRIV
    - STR
    - memset
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_memdeb_init(bool is_main)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pvt
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: CHK_PRIV
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_PRIV(pvt, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:164,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_memdeb.c:166,1
    - Dst: MEMDEB_SIGNATURE_FREE
      Src: /src/rtpproxy/src/rtpp_memdeb.c:168,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:169,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: rtpp_memdeb_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 1
    functionsReached:
    - free
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    - MEMDEB_SIGNATURE_FREE
    - CHK_PRIV
    linkageType: ''
    returnType: void
    signature: void rtpp_memdeb_dtor(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:179,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_memdeb.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - log
    argTypes:
    - void*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: rtpp_memdeb_setlog
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 1
    functionsReached:
    - RTPP_OBJ_INCREF
    - CHK_PRIV
    linkageType: ''
    returnType: void
    signature: void rtpp_memdeb_setlog(void *p, struct rtpp_log *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - inst_name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: rtpp_memdeb_setname
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 1
    functionsReached:
    - CHK_PRIV
    linkageType: ''
    returnType: void
    signature: void rtpp_memdeb_setname(void *p, const char *inst_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - p
    - funcn
    - max_nunalloc
    - why
    argTypes:
    - void*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: rtpp_memdeb_approve
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - CHK_PRIV
    linkageType: ''
    returnType: void
    signature: "void rtpp_memdeb_approve(void *p, const char *funcn, int max_nunalloc,\n
      \ const char *why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - handle
    - ','
    - mlp
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: RTPP_MEMDEB_REPORT_LOC
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MEMDEB_REPORT_LOC(handle, mlp, format, args...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:223,1
    - Dst: RTPP_MEMDEB_REPORT_LOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:228,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:229,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:237,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:240,1
    - Dst: RTPP_MEMDEB_REPORT_LOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:242,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:243,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_memdeb.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pvt
    - mlp
    - doalloc
    argTypes:
    - struct rtpp_memdeb_priv*
    - struct rtpp_codeptr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: rtpp_memdeb_nget
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - malloc
    - RTPP_MEMDEB_REPORT_LOC
    - pthread_mutex_unlock
    - abort
    - memset
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct memdeb_node
    signature: "struct memdeb_node *\nrtpp_memdeb_nget(struct rtpp_memdeb_priv *pvt,
      const struct rtpp_codeptr *mlp,\n  int doalloc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pvt
    - ','
    - p
    - ','
    - mlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: CHK_PRIV_VRB
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_PRIV_VRB(pvt, p, mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_memdeb_imalloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - p
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: rtpp_memdeb_malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_imalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_memdeb_malloc(size_t size, void *p, HERETYPEARG)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_memdeb.c:288,1
    - Dst: CHK_PRIV_VRB
      Src: /src/rtpproxy/src/rtpp_memdeb.c:291,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:292,1
    - Dst: rtpp_memdeb_nget
      Src: /src/rtpproxy/src/rtpp_memdeb.c:293,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:296,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:301,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:302,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:306,1
    - Dst: _memcpy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - size
    - p
    - noglitch
    - mlp
    argTypes:
    - size_t
    - void*
    - int
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 312
    functionName: rtpp_memdeb_imalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 1
    functionsReached:
    - _memcpy
    - CHK_PRIV_VRB
    - rtpp_memdeb_nget
    - MEMDEB_SIGNATURE_ALLOC
    - malloc
    - pthread_mutex_unlock
    - GLITCH_INJECT
    linkageType: ''
    returnType: void
    signature: "void *\nrtpp_memdeb_imalloc(size_t size, void *p, int noglitch,\n
      \ const struct rtpp_codeptr *mlp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:324,1
    - Dst: RTPP_MEMDEB_REPORT_LOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:326,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:327,1
    - Dst: RTPP_MEMDEB_REPORT_LOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:331,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pvt
    - ptr
    - mlp
    argTypes:
    - struct rtpp_memdeb_priv*
    - void*
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 335
    functionName: ptr2mpf
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - abort
    - MEMDEB_SIGNATURE_ALLOC
    - RTPP_MEMDEB_REPORT_LOC
    linkageType: ''
    returnType: struct memdeb_pfx
    signature: 'struct memdeb_pfx *

      ptr2mpf(struct rtpp_memdeb_priv *pvt, void *ptr, const struct rtpp_codeptr *mlp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV_VRB
      Src: /src/rtpproxy/src/rtpp_memdeb.c:345,1
    - Dst: ptr2mpf
      Src: /src/rtpproxy/src/rtpp_memdeb.c:346,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:348,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_memdeb.c:349,1
    - Dst: RTPP_MEMDEB_REPORT_LOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:351,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:352,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:354,1
    - Dst: MEMDEB_SIGNATURE_FREE
      Src: /src/rtpproxy/src/rtpp_memdeb.c:357,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:358,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: rtpp_memdeb_free
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - free
    - CHK_PRIV_VRB
    - MEMDEB_SIGNATURE_ALLOC
    - MEMDEB_SIGNATURE_FREE
    - RTPP_MEMDEB_REPORT_LOC
    - pthread_mutex_unlock
    - abort
    - memcmp
    - ptr2mpf
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_memdeb_free(void *ptr, void *p, HERETYPEARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_memdeb_free
      Src: /src/rtpproxy/src/rtpp_memdeb.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: rtpp_memdeb_free_n
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_free
    linkageType: ''
    returnType: void
    signature: void rtpp_memdeb_free_n(void *ptr, void *p, HERETYPEARG)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_memdeb.c:381,1
    - Dst: CHK_PRIV_VRB
      Src: /src/rtpproxy/src/rtpp_memdeb.c:383,1
    - Dst: rtpp_memdeb_imalloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:385,1
    - Dst: ptr2mpf
      Src: /src/rtpproxy/src/rtpp_memdeb.c:387,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:388,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:389,1
    - Dst: MEMDEB_SIGNATURE_FREE
      Src: /src/rtpproxy/src/rtpp_memdeb.c:390,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:391,1
    - Dst: realloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:392,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:394,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:397,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:402,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:404,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:409,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:412,1
    - Dst: _memcpy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - ptr
    - size
    - p
    argTypes:
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 418
    functionName: rtpp_memdeb_realloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - _memcpy
    - CHK_PRIV_VRB
    - MEMDEB_SIGNATURE_ALLOC
    - MEMDEB_SIGNATURE_FREE
    - rtpp_memdeb_imalloc
    - realloc
    - pthread_mutex_unlock
    - GLITCH_INJECT
    - ptr2mpf
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_memdeb_realloc(void *ptr, size_t size, void *p, HERETYPEARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_memdeb.c:430,1
    - Dst: CHK_PRIV_VRB
      Src: /src/rtpproxy/src/rtpp_memdeb.c:432,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_memdeb.c:433,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:434,1
    - Dst: rtpp_memdeb_nget
      Src: /src/rtpproxy/src/rtpp_memdeb.c:435,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:438,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:443,1
    - Dst: _memcpy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:446,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:447,1
    - Dst: MEMDEB_SIGNATURE_ALLOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:449,1
    - Dst: _memcpy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - ptr
    - p
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 455
    functionName: rtpp_memdeb_strdup
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - _memcpy
    - CHK_PRIV_VRB
    - rtpp_memdeb_nget
    - MEMDEB_SIGNATURE_ALLOC
    - malloc
    - pthread_mutex_unlock
    - strlen
    - GLITCH_INJECT
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_memdeb_strdup(const char *ptr, void *p, HERETYPEARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_memdeb.c:463,1
    - Dst: rtpp_memdeb_ivasprintf
      Src: /src/rtpproxy/src/rtpp_memdeb.c:464,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_memdeb.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pp
    - p
    - fmt
    argTypes:
    - char**
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: rtpp_memdeb_asprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_ivasprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int rtpp_memdeb_asprintf(char **pp, void *p, HERETYPEARG, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_memdeb_ivasprintf
      Src: /src/rtpproxy/src/rtpp_memdeb.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pp
    - fmt
    - p
    - ap
    argTypes:
    - char**
    - char*
    - void*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: rtpp_memdeb_vasprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_ivasprintf
    linkageType: ''
    returnType: int
    signature: "int rtpp_memdeb_vasprintf(char **pp, const char *fmt, void *p, HERETYPEARG,\n
      \ va_list ap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GLITCH_INJECT
      Src: /src/rtpproxy/src/rtpp_memdeb.c:484,1
    - Dst: vasprintf
      Src: /src/rtpproxy/src/rtpp_memdeb.c:486,1
    - Dst: rtpp_memdeb_imalloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:490,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb.c:492,1
    - Dst: _memcpy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:496,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - pp
    - fmt
    - p
    - mlp
    - ap
    argTypes:
    - char**
    - char*
    - void*
    - struct rtpp_codeptr*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 504
    functionName: rtpp_memdeb_ivasprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 2
    functionsReached:
    - free
    - _memcpy
    - vasprintf
    - rtpp_memdeb_imalloc
    - GLITCH_INJECT
    linkageType: ''
    returnType: int
    signature: "int rtpp_memdeb_ivasprintf(char **pp, const char *fmt, void *p,\n
      \ const struct rtpp_codeptr *mlp, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:511,1
    - Dst: RTPP_MEMDEB_REPORT_LOC
      Src: /src/rtpproxy/src/rtpp_memdeb.c:514,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:516,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_memdeb.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - src
    - len
    - p
    argTypes:
    - void*
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 519
    functionName: rtpp_memdeb_memcpy
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - abort
    - RTPP_MEMDEB_REPORT_LOC
    - memcpy
    - CHK_PRIV
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_memdeb_memcpy(void *dst, const void *src, size_t len, void *p, HERETYPEARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_memdeb_imalloc
      Src: /src/rtpproxy/src/rtpp_memdeb.c:526,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_memdeb.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - number
    - size
    - p
    argTypes:
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 531
    functionName: rtpp_memdeb_calloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - memset
    - rtpp_memdeb_imalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_memdeb_calloc(size_t number, size_t size, void *p, HERETYPEARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_memdeb.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pvt
    - funcn
    argTypes:
    - struct rtpp_memdeb_priv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: is_approved
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_approved(struct rtpp_memdeb_priv *pvt, const char *funcn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:555,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:558,1
    - Dst: ptr2mpf
      Src: /src/rtpproxy/src/rtpp_memdeb.c:567,1
    - Dst: is_approved
      Src: /src/rtpproxy/src/rtpp_memdeb.c:579,1
    - Dst: RTPP_MEMDEB_REPORT2
      Src: /src/rtpproxy/src/rtpp_memdeb.c:584,1
    - Dst: RTPP_MEMDEB_REPORT2
      Src: /src/rtpproxy/src/rtpp_memdeb.c:588,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:595,1
    - Dst: RTPP_MEMDEB_REPORT2
      Src: /src/rtpproxy/src/rtpp_memdeb.c:597,1
    - Dst: RTPP_MEMDEB_REPORT2
      Src: /src/rtpproxy/src/rtpp_memdeb.c:600,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - p
    - nostdout
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 604
    functionName: rtpp_memdeb_dumpstats
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 5
    functionsReached:
    - CHK_PRIV
    - is_approved
    - pthread_mutex_unlock
    - ptr2mpf
    - RTPP_MEMDEB_REPORT2
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_memdeb_dumpstats(void *p, int nostdout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:613,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:614,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb.c:618,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:619,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 627
    functionName: rtpp_memdeb_setbaseln
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - CHK_PRIV
    - RTPP_MEMDEB_REPORT
    - pthread_mutex_unlock
    - abort
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_memdeb_setbaseln(void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHK_PRIV
      Src: /src/rtpproxy/src/rtpp_memdeb.c:637,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:639,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb.c:643,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_memdeb.c:644,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_memdeb.c:646,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_memdeb.c:649,1
    - Dst: RTPP_MD_STATS_ADD
      Src: /src/rtpproxy/src/rtpp_memdeb.c:652,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_memdeb.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - p
    - fname
    - funcn
    - mstatp
    argTypes:
    - void*
    - char*
    - char*
    - struct memdeb_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 657
    functionName: rtpp_memdeb_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.c
    functionUses: 0
    functionsReached:
    - CHK_PRIV
    - RTPP_MEMDEB_REPORT
    - RTPP_MD_STATS_ADD
    - strcmp
    - pthread_mutex_unlock
    - abort
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_memdeb_get_stats(void *p, const char *fname, const char *funcn,\n
      \ struct memdeb_stats *mstatp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - resizer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: is_rtp_resizer_enabled
    functionSourceFile: /src/rtpproxy/src/rtp_resizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_rtp_resizer_enabled(resizer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/src/main.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: usage
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/main.c:170,1
    - Dst: exit
      Src: /src/rtpproxy/src/main.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - memdeb
    - rval
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: rtpp_exit
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_dumpstats
    - exit
    linkageType: ''
    returnType: void
    signature: void rtpp_exit(int memdeb, int rval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:181,1
    - Dst: RTPP_MEMDEB_FIN
      Src: /src/rtpproxy/src/main.c:183,1
    - Dst: fclose
      Src: /src/rtpproxy/src/main.c:185,1
    - Dst: rtpp_sys_free
      Src: /src/rtpproxy/src/main.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: rtpp_glog_fin
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - RTPP_MEMDEB_FIN
    - fclose
    - rtpp_sys_free
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_glog_fin(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:197,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:201,1
    - Dst: raise
      Src: /src/rtpproxy/src/main.c:204,1
    - Dst: _exit
      Src: /src/rtpproxy/src/main.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: badsignal
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - _exit
    - RTPP_LOG
    - raise
    - signal
    linkageType: ''
    returnType: void
    signature: void badsignal(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:212,1
    - Dst: rtpp_exit
      Src: /src/rtpproxy/src/main.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: fatsignal
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - rtpp_exit
    linkageType: ''
    returnType: void
    signature: void fatsignal(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: sighup
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    linkageType: ''
    returnType: void
    signature: void sighup(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stacktrace_print
      Src: /src/rtpproxy/src/main.c:242,1
    - Dst: rtpp_controlfd_cleanup
      Src: /src/rtpproxy/src/main.c:245,1
    - Dst: unlink
      Src: /src/rtpproxy/src/main.c:246,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: ehandler
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - rtpp_stacktrace_print
    - rtpp_controlfd_cleanup
    - unlink
    linkageType: ''
    returnType: void
    signature: void ehandler(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stacktrace_print
      Src: /src/rtpproxy/src/main.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - rtpp_stacktrace_print
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE(catchtrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - r
    - ','
    - m
    - ','
    - mdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: IC_BAIL
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC_BAIL(c, r, m, mdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: IC_ERR
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC_ERR(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: IC_ERRX
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC_ERRX(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - r
    - ','
    - m
    - ','
    - mdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: IC_BAIL
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC_BAIL(c, r, m, mdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: IC_ERR
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC_ERR(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: IC_ERRX
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC_ERRX(code, fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:307,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:309,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:310,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:311,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:312,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:313,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/main.c:315,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/main.c:317,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:318,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:320,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:321,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:323,1
    - Dst: assert
      Src: /src/rtpproxy/src/main.c:325,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:328,1
    - Dst: rtpp_exit
      Src: /src/rtpproxy/src/main.c:330,1
    - Dst: rtpp_sys_free
      Src: /src/rtpproxy/src/main.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - cfsp
    - rval
    - msg
    - memdeb
    argTypes:
    - struct rtpp_cfg*
    - int
    - char*
    - int
    assertStmts:
    - condition: (cfsp->_pad == (void *)0x12345678)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/rtpproxy/src/main.c
    constantsTouched: []
    func_position:
      end: 334
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 334
    functionName: init_config_bail
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_sys_free
    - rtpp_exit
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - assert
    - RTPP_LIST_HEAD
    - RTPP_ITER_NEXT
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void init_config_bail(struct rtpp_cfg *cfsp, int rval, const char *msg,
      int memdeb)
  - BBCount: 120
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_get_sched_hz
      Src: /src/rtpproxy/src/main.c:374,1
    - Dst: MIN
      Src: /src/rtpproxy/src/main.c:377,1
    - Dst: rtpp_tnotify_set_ctor
      Src: /src/rtpproxy/src/main.c:384,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:386,1
    - Dst: malloc
      Src: /src/rtpproxy/src/main.c:389,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:391,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/main.c:393,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:394,1
    - Dst: rtpp_bindaddrs_ctor
      Src: /src/rtpproxy/src/main.c:396,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:398,1
    - Dst: rtpp_nofile_ctor
      Src: /src/rtpproxy/src/main.c:402,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:404,1
    - Dst: rtpp_weakref_ctor
      Src: /src/rtpproxy/src/main.c:406,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:408,1
    - Dst: getopt_long
      Src: /src/rtpproxy/src/main.c:414,1
    - Dst: rtpp_static_modules_lookup
      Src: /src/rtpproxy/src/main.c:421,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:424,1
    - Dst: realpath
      Src: /src/rtpproxy/src/main.c:428,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:430,1
    - Dst: rtpp_module_if_ctor
      Src: /src/rtpproxy/src/main.c:432,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:434,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:436,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:437,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:439,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:440,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:443,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:444,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:447,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:449,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:458,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:462,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:465,1
    - Dst: rtpp_parse_rtp_rtcp_val
      Src: /src/rtpproxy/src/main.c:492,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:497,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:499,1
    - Dst: rtpp_parse_rtp_rtcp_val
      Src: /src/rtpproxy/src/main.c:504,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:509,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:511,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/main.c:516,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/main.c:520,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:524,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:533,1
    - Dst: bindarg_parse
      Src: /src/rtpproxy/src/main.c:534,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:539,1
    - Dst: bindarg_parse
      Src: /src/rtpproxy/src/main.c:540,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:545,1
    - Dst: strchr
      Src: /src/rtpproxy/src/main.c:547,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:552,1
    - Dst: rtpp_str_const_i
      Src: /src/rtpproxy/src/main.c:554,1
    - Dst: rtpp_str_const_i
      Src: /src/rtpproxy/src/main.c:556,1
    - Dst: rtpp_ctrl_sock_parse
      Src: /src/rtpproxy/src/main.c:560,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:562,1
    - Dst: rtpp_list_append
      Src: /src/rtpproxy/src/main.c:564,1
    - Dst: RTPP_CTRL_ISDG
      Src: /src/rtpproxy/src/main.c:565,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:573,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:577,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:579,1
    - Dst: printf
      Src: /src/rtpproxy/src/main.c:588,1
    - Dst: iterate_proto_caps
      Src: /src/rtpproxy/src/main.c:589,1
    - Dst: iterate_proto_caps
      Src: /src/rtpproxy/src/main.c:589,1
    - Dst: printf
      Src: /src/rtpproxy/src/main.c:590,1
    - Dst: IC_BAIL
      Src: /src/rtpproxy/src/main.c:592,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:612,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:613,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:619,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:620,1
    - Dst: setrlimit
      Src: /src/rtpproxy/src/main.c:623,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:624,1
    - Dst: getrlimit
      Src: /src/rtpproxy/src/main.c:625,1
    - Dst: IC_ERR
      Src: /src/rtpproxy/src/main.c:626,1
    - Dst: warnx
      Src: /src/rtpproxy/src/main.c:628,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:635,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:639,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:642,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:647,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:651,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:654,1
    - Dst: strchr
      Src: /src/rtpproxy/src/main.c:660,1
    - Dst: getpwnam
      Src: /src/rtpproxy/src/main.c:671,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:673,1
    - Dst: getgrnam
      Src: /src/rtpproxy/src/main.c:679,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:681,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:692,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:693,1
    - Dst: strlen
      Src: /src/rtpproxy/src/main.c:707,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:708,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:709,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:710,1
    - Dst: strchr
      Src: /src/rtpproxy/src/main.c:723,1
    - Dst: rtpp_log_str2fac
      Src: /src/rtpproxy/src/main.c:725,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:727,1
    - Dst: rtpp_log_str2lvl
      Src: /src/rtpproxy/src/main.c:730,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:732,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:733,1
    - Dst: printf
      Src: /src/rtpproxy/src/main.c:737,1
    - Dst: IC_BAIL
      Src: /src/rtpproxy/src/main.c:738,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/main.c:742,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:743,1
    - Dst: printf
      Src: /src/rtpproxy/src/main.c:755,1
    - Dst: get_mclock_name
      Src: /src/rtpproxy/src/main.c:755,1
    - Dst: IC_BAIL
      Src: /src/rtpproxy/src/main.c:756,1
    - Dst: usage
      Src: /src/rtpproxy/src/main.c:761,1
    - Dst: warnx
      Src: /src/rtpproxy/src/main.c:767,1
    - Dst: usage
      Src: /src/rtpproxy/src/main.c:769,1
    - Dst: rtpp_cfile_process
      Src: /src/rtpproxy/src/main.c:774,1
    - Dst: IC_BAIL
      Src: /src/rtpproxy/src/main.c:775,1
    - Dst: RTPP_LIST_IS_EMPTY
      Src: /src/rtpproxy/src/main.c:784,1
    - Dst: rtpp_ctrl_sock_parse
      Src: /src/rtpproxy/src/main.c:785,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:787,1
    - Dst: rtpp_list_append
      Src: /src/rtpproxy/src/main.c:789,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:793,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:796,1
    - Dst: getuid
      Src: /src/rtpproxy/src/main.c:798,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:800,1
    - Dst: warnx
      Src: /src/rtpproxy/src/main.c:805,1
    - Dst: IC_ERRX
      Src: /src/rtpproxy/src/main.c:826,1
    - Dst: init_bindaddrs
      Src: /src/rtpproxy/src/main.c:828,1
    - Dst: IC_BAIL
      Src: /src/rtpproxy/src/main.c:829,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 390
    argCount: 3
    argNames:
    - cfsp
    - argc
    - argv
    argTypes:
    - struct rtpp_cfg*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 840
    functionName: init_config
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - rtpp_log_str2fac
    - IC_ERR
    - rtpp_weakref_ctor
    - RTPP_OBJ_DECREF
    - setrlimit
    - rtpp_ctrl_sock_parse
    - rtpp_nofile_ctor
    - rtpp_cfile_process
    - rtpp_list_append
    - atoi_saferange
    - CALL_METHOD
    - getgrnam
    - rtpp_log_str2lvl
    - rtpp_module_if_ctor
    - printf
    - usage
    - rtpp_parse_rtp_rtcp_val
    - warnx
    - iterate_proto_caps
    - RTPP_LIST_IS_EMPTY
    - MIN
    - bindarg_parse
    - getuid
    - realpath
    - get_mclock_name
    - init_bindaddrs
    - strcmp
    - RTPP_CTRL_ISDG
    - getrlimit
    - getopt_long
    - rtpp_str_const_i
    - rtpp_get_sched_hz
    - IC_BAIL
    - strchr
    - malloc
    - IC_ERRX
    - rtpp_bindaddrs_ctor
    - rtpp_static_modules_lookup
    - getpwnam
    - rtpp_tnotify_set_ctor
    - strlen
    linkageType: ''
    returnType: int
    signature: int init_config(struct rtpp_cfg *cfsp, int argc, const char * const
      *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dtime
    - argp
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 850
    functionName: update_derived_stats
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: enum rtpp_timed_cb_rvals
    signature: enum rtpp_timed_cb_rvals update_derived_stats(double dtime, void *argp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:861,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:862,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:863,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:865,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:866,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:870,1
    - Dst: assert
      Src: /src/rtpproxy/src/main.c:872,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:875,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:876,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:877,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:878,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:879,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:880,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:881,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:882,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:883,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:884,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:885,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:886,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:887,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:889,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:891,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:892,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:893,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:894,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:895,1
    - Dst: rtpp_controlfd_cleanup
      Src: /src/rtpproxy/src/main.c:896,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/main.c:897,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/main.c:899,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:900,1
    - Dst: free
      Src: /src/rtpproxy/src/main.c:902,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:904,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts:
    - condition: (cfsp->_pad == (void *)0x12345678)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/rtpproxy/src/main.c
    constantsTouched: []
    func_position:
      end: 908
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 908
    functionName: rtpp_shutdown
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - free
    - RTPP_OBJ_DECREF
    - assert
    - rtpp_controlfd_cleanup
    - CALL_SMETHOD
    - RTPP_LIST_HEAD
    - RTPP_ITER_NEXT
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_shutdown(struct rtpp_cfg *cfsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 915
    functionName: MAIN_ERR
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIN_ERR(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 919
    functionName: MAIN_ERRX
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIN_ERRX(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: MAIN_EXIT
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIN_EXIT(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: MAIN_ERR
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIN_ERR(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: MAIN_ERRX
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIN_ERRX(code, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: MAIN_EXIT
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAIN_EXIT(code)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_sys_malloc
      Src: /src/rtpproxy/src/main.c:950,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:952,1
    - Dst: memset
      Src: /src/rtpproxy/src/main.c:953,1
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/src/main.c:962,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/main.c:964,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:965,1
    - Dst: rtpp_memdeb_selftest
      Src: /src/rtpproxy/src/main.c:970,1
    - Dst: MAIN_ERRX
      Src: /src/rtpproxy/src/main.c:971,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/main.c:976,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:978,1
    - Dst: rtpp_modman_ctor
      Src: /src/rtpproxy/src/main.c:983,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:985,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/main.c:992,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:994,1
    - Dst: seedrandom
      Src: /src/rtpproxy/src/main.c:998,1
    - Dst: rtpp_genuid_ctor
      Src: /src/rtpproxy/src/main.c:999,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1001,1
    - Dst: rtpp_log_ctor
      Src: /src/rtpproxy/src/main.c:1005,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1007,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:1010,1
    - Dst: rtpp_memdeb_setlog
      Src: /src/rtpproxy/src/main.c:1012,1
    - Dst: rtpp_memdeb_approve
      Src: /src/rtpproxy/src/main.c:1013,1
    - Dst: atexit
      Src: /src/rtpproxy/src/main.c:1018,1
    - Dst: init_config
      Src: /src/rtpproxy/src/main.c:1021,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1023,1
    - Dst: rtpp_hash_table_ctor
      Src: /src/rtpproxy/src/main.c:1026,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1028,1
    - Dst: rtpp_weakref_ctor
      Src: /src/rtpproxy/src/main.c:1031,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1033,1
    - Dst: rtpp_weakref_ctor
      Src: /src/rtpproxy/src/main.c:1036,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1038,1
    - Dst: rtpp_sessinfo_ctor
      Src: /src/rtpproxy/src/main.c:1041,1
    - Dst: MAIN_ERRX
      Src: /src/rtpproxy/src/main.c:1043,1
    - Dst: rtpp_stats_ctor
      Src: /src/rtpproxy/src/main.c:1046,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1048,1
    - Dst: rtpp_port_table_ctor
      Src: /src/rtpproxy/src/main.c:1053,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1056,1
    - Dst: rtpp_controlfd_init
      Src: /src/rtpproxy/src/main.c:1061,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1062,1
    - Dst: getcwd
      Src: /src/rtpproxy/src/main.c:1068,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1070,1
    - Dst: rtpp_daemon
      Src: /src/rtpproxy/src/main.c:1073,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1075,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:1079,1
    - Dst: syslog
      Src: /src/rtpproxy/src/main.c:1081,1
    - Dst: getpid
      Src: /src/rtpproxy/src/main.c:1082,1
    - Dst: MAIN_ERR
      Src: /src/rtpproxy/src/main.c:1083,1
    - Dst: atexit
      Src: /src/rtpproxy/src/main.c:1087,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1089,1
    - Dst: getpid
      Src: /src/rtpproxy/src/main.c:1089,1
    - Dst: sched_get_priority_max
      Src: /src/rtpproxy/src/main.c:1092,1
    - Dst: sched_setscheduler
      Src: /src/rtpproxy/src/main.c:1093,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1094,1
    - Dst: setpriority
      Src: /src/rtpproxy/src/main.c:1099,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1100,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1102,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/main.c:1106,1
    - Dst: open
      Src: /src/rtpproxy/src/main.c:1107,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1109,1
    - Dst: drop_privileges
      Src: /src/rtpproxy/src/main.c:1116,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1117,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1119,1
    - Dst: set_rlimits
      Src: /src/rtpproxy/src/main.c:1122,1
    - Dst: pproc_manager_ctor
      Src: /src/rtpproxy/src/main.c:1124,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1126,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1128,1
    - Dst: rtpp_proc_async_ctor
      Src: /src/rtpproxy/src/main.c:1131,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1133,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1135,1
    - Dst: rtpp_proc_servers_ctor
      Src: /src/rtpproxy/src/main.c:1138,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1140,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1142,1
    - Dst: rtpp_timed_ctor
      Src: /src/rtpproxy/src/main.c:1145,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1147,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1149,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:1152,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1156,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1158,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/main.c:1160,1
    - Dst: rtpp_notify_ctor
      Src: /src/rtpproxy/src/main.c:1162,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1164,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1166,1
    - Dst: rtpp_proc_ttl_ctor
      Src: /src/rtpproxy/src/main.c:1169,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1171,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1173,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/main.c:1178,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1179,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1181,1
    - Dst: rtpp_command_async_ctor
      Src: /src/rtpproxy/src/main.c:1185,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1187,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1189,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1193,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1194,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1195,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1196,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1197,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1198,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1199,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1200,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1201,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1202,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1203,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1208,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1209,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1210,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1211,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1213,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1215,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1216,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1217,1
    - Dst: signal
      Src: /src/rtpproxy/src/main.c:1218,1
    - Dst: prdic_init
      Src: /src/rtpproxy/src/main.c:1222,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1224,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1225,1
    - Dst: ftruncate
      Src: /src/rtpproxy/src/main.c:1230,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1231,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1232,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/main.c:1234,1
    - Dst: getpid
      Src: /src/rtpproxy/src/main.c:1234,1
    - Dst: write
      Src: /src/rtpproxy/src/main.c:1235,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/main.c:1236,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1237,1
    - Dst: close
      Src: /src/rtpproxy/src/main.c:1239,1
    - Dst: sd_notify
      Src: /src/rtpproxy/src/main.c:1243,1
    - Dst: rtpp_daemon_rel_parent
      Src: /src/rtpproxy/src/main.c:1247,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1248,1
    - Dst: MAIN_EXIT
      Src: /src/rtpproxy/src/main.c:1249,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/main.c:1262,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/main.c:1263,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/src/main.c:1267,1
    - Dst: prdic_free
      Src: /src/rtpproxy/src/main.c:1269,1
    - Dst: rtpp_shutdown
      Src: /src/rtpproxy/src/main.c:1271,1
    - Dst: sd_notify
      Src: /src/rtpproxy/src/main.c:1274,1
    - Dst: rtpp_exit
      Src: /src/rtpproxy/src/main.c:1277,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 224
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 938
    functionDepth: 4
    functionLinenumber: 938
    functionLinenumberEnd: 1278
    functionName: _rtpp_main
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached:
    - getdtime
    - rtpp_stats_ctor
    - rtpp_weakref_ctor
    - MAIN_ERR
    - pproc_manager_ctor
    - RTPP_OBJ_DECREF
    - sched_get_priority_max
    - syslog
    - rtpp_log_ctor
    - rtpp_sys_malloc
    - CALL_METHOD
    - prdic_procrastinate
    - atexit
    - init_config
    - rtpp_port_table_ctor
    - RTPP_ELOG
    - signal
    - rtpp_exit
    - rtpp_genuid_ctor
    - rtpp_proc_ttl_ctor
    - close
    - open
    - RTPP_LOG
    - set_rlimits
    - CALL_SMETHOD
    - rtpp_proc_async_ctor
    - rtpp_daemon_rel_parent
    - ftruncate
    - rtpp_modman_ctor
    - sd_notify
    - rtpp_memdeb_selftest
    - rtpp_zmalloc
    - rtpp_sessinfo_ctor
    - prdic_init
    - rtpp_shutdown
    - seedrandom
    - drop_privileges
    - rtpp_timed_ctor
    - rtpp_controlfd_init
    - strcmp
    - rtpp_memdeb_setlog
    - rtpp_memdeb_approve
    - getcwd
    - RTPP_MEMDEB_APP_INIT
    - rtpp_command_async_ctor
    - memset
    - sprintf
    - rtpp_notify_ctor
    - write
    - prdic_free
    - MAIN_EXIT
    - rtpp_daemon
    - rtpp_hash_table_ctor
    - getpid
    - setpriority
    - rtpp_proc_servers_ctor
    - MAIN_ERRX
    - sched_setscheduler
    linkageType: ''
    returnType: struct rtpp_cfg
    signature: 'struct rtpp_cfg *

      _rtpp_main(int argc, const char * const *argv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE(catchtrace)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - struct rtpp_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: rtpp_proc_ttl_refill_pps
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_ttl.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_ttl_refill_pps(struct rtpp_pipe *pipe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_proc_ttl_refill_pps
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:109,1
    - Dst: rtpp_proc_ttl_refill_pps
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:110,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:112,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:113,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:115,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:119,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:120,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: rtpp_proc_ttl_foreach
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_ttl.c
    functionUses: 0
    functionsReached:
    - rtpp_proc_ttl_refill_pps
    - CALL_METHOD
    - CALL_SMETHOD
    - RTPP_LOG
    linkageType: ''
    returnType: int
    signature: int rtpp_proc_ttl_foreach(void *dp, void *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sessions_ht
    - fap
    argTypes:
    - struct rtpp_hash_table*
    - struct foreach_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: rtpp_proc_ttl
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_ttl.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_ttl(struct rtpp_hash_table *sessions_ht, const struct
      foreach_args *fap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:144,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:148,1
    - Dst: rtpp_proc_ttl
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: rtpp_proc_ttl_run
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_ttl.c
    functionUses: 0
    functionsReached:
    - prdic_procrastinate
    - rtpp_proc_ttl
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_ttl_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:159,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:160,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:161,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:162,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:163,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:164,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:165,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:166,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:167,1
    - Dst: prdic_free
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:168,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_proc_ttl*
    assertStmts:
    - condition: (tstate == TSTATE_RUN)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/rtpproxy/src/rtpp_proc_ttl.c
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: rtpp_proc_ttl_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_ttl.c
    functionUses: 0
    functionsReached:
    - free
    - atomic_load
    - prdic_free
    - atomic_store
    - RTPP_OBJ_DECREF
    - pthread_join
    - assert
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_ttl_dtor(struct rtpp_proc_ttl *pub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:177,1
    - Dst: prdic_init
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:181,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:187,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:189,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:191,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:193,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:195,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:199,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:204,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:205,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:206,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:207,1
    - Dst: prdic_free
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:208,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_proc_ttl.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 212
    functionName: rtpp_proc_ttl_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_ttl.c
    functionUses: 1
    functionsReached:
    - pthread_setname_np
    - rtpp_zmalloc
    - free
    - prdic_init
    - prdic_free
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - pthread_create
    linkageType: ''
    returnType: struct rtpp_proc_ttl
    signature: 'struct rtpp_proc_ttl *

      rtpp_proc_ttl_ctor(const struct rtpp_cfg *cfsp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:61,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:62,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_network.c:65,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:65,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:66,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ia1
    - ia2
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: ishostseq
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - abort
    - memcmp
    - satosin6
    - satosin
    linkageType: ''
    returnType: int
    signature: int ishostseq(const struct sockaddr *ia1, const struct sockaddr *ia2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:83,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:86,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ia
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: ishostnull
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - abort
    - satosin6
    - satosin
    linkageType: ''
    returnType: int
    signature: int ishostnull(const struct sockaddr *ia)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/rtpproxy/src/rtpp_network.c:103,1
    - Dst: getnport
      Src: /src/rtpproxy/src/rtpp_network.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ia
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: getport
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 1
    functionsReached:
    - ntohs
    - getnport
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getport(const struct sockaddr *ia)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:112,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:115,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ia
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: getnport
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 1
    functionsReached:
    - abort
    - satosin6
    - satosin
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getnport(const struct sockaddr *ia)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ishostseq
      Src: /src/rtpproxy/src/rtpp_network.c:128,1
    - Dst: getport
      Src: /src/rtpproxy/src/rtpp_network.c:130,1
    - Dst: getport
      Src: /src/rtpproxy/src/rtpp_network.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ia1
    - ia2
    argTypes:
    - struct sockaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: isaddrseq
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - getport
    - ishostseq
    linkageType: ''
    returnType: int
    signature: int isaddrseq(const struct sockaddr *ia1, const struct sockaddr *ia2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_network.c:137,1
    - Dst: IS_VALID_PORT
      Src: /src/rtpproxy/src/rtpp_network.c:137,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:141,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_network.c:141,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:145,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_network.c:145,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ia
    - portnum
    argTypes:
    - struct sockaddr*
    - int
    assertStmts:
    - condition: (IS_VALID_PORT(portnum))
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/rtpproxy/src/rtpp_network.c
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: setport
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 1
    functionsReached:
    - satosin
    - IS_VALID_PORT
    - assert
    - htons
    - abort
    - satosin6
    linkageType: ''
    returnType: void
    signature: void setport(struct sockaddr *ia, int portnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:161,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:165,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ia
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: setanyport
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - abort
    - satosin6
    - satosin
    linkageType: ''
    returnType: void
    signature: void setanyport(struct sockaddr *ia)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:182,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:186,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:190,1
    - Dst: inet_ntop
      Src: /src/rtpproxy/src/rtpp_network.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ia
    - buf
    - size
    argTypes:
    - struct sockaddr*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: addr2char_r
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - abort
    - satosin6
    - satosin
    - inet_ntop
    linkageType: ''
    returnType: char
    signature: 'char *

      addr2char_r(const struct sockaddr *ia, char *buf, int size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_network.c:213,1
    - Dst: addr2char_r
      Src: /src/rtpproxy/src/rtpp_network.c:216,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_network.c:218,1
    - Dst: getport
      Src: /src/rtpproxy/src/rtpp_network.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ia
    - buf
    - size
    - portsep
    argTypes:
    - struct sockaddr*
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 220
    functionName: addrport2char_r
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 4
    functionsReached:
    - abort
    - addr2char_r
    - getport
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      addrport2char_r(const struct sockaddr *ia, char *buf, int size, char portsep)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_network.c:229,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/src/rtpp_network.c:234,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_network.c:236,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_network.c:238,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/src/rtpp_network.c:239,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network.c:244,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_network.c:245,1
    - Dst: inet_pton
      Src: /src/rtpproxy/src/rtpp_network.c:246,1
    - Dst: atoi_saferange
      Src: /src/rtpproxy/src/rtpp_network.c:250,1
    - Dst: setport
      Src: /src/rtpproxy/src/rtpp_network.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - ia
    - pf
    - host
    - servname
    - flags
    argTypes:
    - struct sockaddr*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 256
    functionName: resolve
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 1
    functionsReached:
    - atoi_saferange
    - memcpy
    - satosin
    - setport
    - getaddrinfo
    - inet_pton
    - satosin6
    - memset
    - freeaddrinfo
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: "int resolve(struct sockaddr *ia, int pf, const char *host,\n  const
      char *servname, int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 306
    functionName: rtpp_in_cksum
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rtpp_in_cksum(void *p, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_network.c:314,1
    - Dst: connect
      Src: /src/rtpproxy/src/rtpp_network.c:318,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_network.c:318,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_network.c:319,1
    - Dst: getsockname
      Src: /src/rtpproxy/src/rtpp_network.c:323,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_network.c:323,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_network.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ra
    - la
    argTypes:
    - struct sockaddr*
    - struct sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: local4remote
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - SA_LEN
    - close
    - sstosa
    - socket
    - getsockname
    - connect
    linkageType: ''
    returnType: int
    signature: int local4remote(const struct sockaddr *ra, struct sockaddr_storage
      *la)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/rtpproxy/src/rtpp_network.c:337,1
    - Dst: isxdigit
      Src: /src/rtpproxy/src/rtpp_network.c:344,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - str
    - begin
    - end
    - pf
    argTypes:
    - char*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 359
    functionName: extractaddr
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isxdigit
    linkageType: ''
    returnType: int
    signature: int extractaddr(const char *str, const char **begin, const char **end,
      int *pf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_network.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - str
    - begin
    - end
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: extractlabel
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int extractlabel(const char *str, const char **begin, const char **end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_network.c:381,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_network.c:383,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_network.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - hostnm
    - pf
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: is_wildcard
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int is_wildcard(const char *hostnm, int pf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/rtpproxy/src/rtpp_network.c:395,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_network.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hostnm
    - pf
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: is_numhost
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - strlen
    - strspn
    linkageType: ''
    returnType: int
    signature: int is_numhost(const char *hostnm, int pf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_wildcard
      Src: /src/rtpproxy/src/rtpp_network.c:411,1
    - Dst: is_numhost
      Src: /src/rtpproxy/src/rtpp_network.c:415,1
    - Dst: resolve
      Src: /src/rtpproxy/src/rtpp_network.c:421,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_network.c:422,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/src/rtpp_network.c:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - ia
    - pf
    - bindhost
    - servname
    - no_resolve
    argTypes:
    - struct sockaddr*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 426
    functionName: setbindhost
    functionSourceFile: /src/rtpproxy/src/rtpp_network.c
    functionUses: 0
    functionsReached:
    - resolve
    - gai_strerror
    - is_wildcard
    - is_numhost
    - warnx
    linkageType: ''
    returnType: int
    signature: "int setbindhost(struct sockaddr *ia, int pf, const char *bindhost,\n
      \ const char *servname, int no_resolve)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sd_listen_fds
      Src: /src/rtpproxy/src/rtpp_controlfd.c:70,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_controlfd.c:72,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_controlfd.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: controlfd_init_systemd
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached:
    - sd_listen_fds
    - warnx
    linkageType: ''
    returnType: int
    signature: int controlfd_init_systemd(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_controlfd.c:91,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_controlfd.c:92,1
    - Dst: unlink
      Src: /src/rtpproxy/src/rtpp_controlfd.c:96,1
    - Dst: sstosun
      Src: /src/rtpproxy/src/rtpp_controlfd.c:97,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_controlfd.c:98,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_controlfd.c:100,1
    - Dst: strlcpy
      Src: /src/rtpproxy/src/rtpp_controlfd.c:103,1
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_controlfd.c:104,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:106,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_controlfd.c:110,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_controlfd.c:111,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_controlfd.c:111,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:112,1
    - Dst: chown
      Src: /src/rtpproxy/src/rtpp_controlfd.c:116,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:117,1
    - Dst: chmod
      Src: /src/rtpproxy/src/rtpp_controlfd.c:121,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:122,1
    - Dst: listen
      Src: /src/rtpproxy/src/rtpp_controlfd.c:125,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:126,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_controlfd.c:132,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - cfsp
    - csp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_ctrl_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 134
    functionName: controlfd_init_ifsun
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached:
    - warn
    - sstosun
    - bind
    - chown
    - listen
    - sstosa
    - close
    - warnx
    - socket
    - strlcpy
    - strlen
    - memset
    - chmod
    - setsockopt
    - unlink
    linkageType: ''
    returnType: int
    signature: int controlfd_init_ifsun(const struct rtpp_cfg *cfsp, struct rtpp_ctrl_sock
      *csp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/rtpproxy/src/rtpp_controlfd.c:145,1
    - Dst: alloca
      Src: /src/rtpproxy/src/rtpp_controlfd.c:148,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_controlfd.c:149,1
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_controlfd.c:159,1
    - Dst: setbindhost
      Src: /src/rtpproxy/src/rtpp_controlfd.c:160,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_controlfd.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - cfsp
    - csp
    - ifsin
    - af
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_ctrl_sock*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: controlfd_setbindhost
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached:
    - alloca
    - atoi
    - setbindhost
    - memcpy
    - warnx
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int controlfd_setbindhost(const struct rtpp_cfg *cfsp, struct rtpp_ctrl_sock
      *csp,\n  struct sockaddr *ifsin, int af)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_controlfd.c:175,1
    - Dst: controlfd_setbindhost
      Src: /src/rtpproxy/src/rtpp_controlfd.c:176,1
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_controlfd.c:180,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:182,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_controlfd.c:186,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_controlfd.c:187,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_controlfd.c:188,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_controlfd.c:188,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:189,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_controlfd.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - cfsp
    - csp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_ctrl_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: controlfd_init_udp
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached:
    - controlfd_setbindhost
    - SA_LEN
    - warn
    - RTPP_ELOG
    - bind
    - sstosa
    - close
    - socket
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int controlfd_init_udp(const struct rtpp_cfg *cfsp, struct rtpp_ctrl_sock
      *csp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_controlfd.c:204,1
    - Dst: controlfd_setbindhost
      Src: /src/rtpproxy/src/rtpp_controlfd.c:205,1
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_controlfd.c:209,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:211,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_controlfd.c:215,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_controlfd.c:216,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_controlfd.c:217,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_controlfd.c:217,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:218,1
    - Dst: listen
      Src: /src/rtpproxy/src/rtpp_controlfd.c:221,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:222,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_controlfd.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - cfsp
    - csp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_ctrl_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 230
    functionName: controlfd_init_tcp
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached:
    - controlfd_setbindhost
    - SA_LEN
    - warn
    - RTPP_ELOG
    - bind
    - listen
    - sstosa
    - close
    - socket
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int controlfd_init_tcp(const struct rtpp_cfg *cfsp, struct rtpp_ctrl_sock
      *csp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_controlfd.c:238,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_controlfd.c:239,1
    - Dst: controlfd_init_systemd
      Src: /src/rtpproxy/src/rtpp_controlfd.c:242,1
    - Dst: controlfd_init_ifsun
      Src: /src/rtpproxy/src/rtpp_controlfd.c:247,1
    - Dst: controlfd_init_udp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:252,1
    - Dst: controlfd_init_tcp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:257,1
    - Dst: fileno
      Src: /src/rtpproxy/src/rtpp_controlfd.c:261,1
    - Dst: fileno
      Src: /src/rtpproxy/src/rtpp_controlfd.c:262,1
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/rtpp_controlfd.c:266,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_controlfd.c:268,1
    - Dst: warnx
      Src: /src/rtpproxy/src/rtpp_controlfd.c:274,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_controlfd.c:275,1
    - Dst: fcntl
      Src: /src/rtpproxy/src/rtpp_controlfd.c:282,1
    - Dst: fcntl
      Src: /src/rtpproxy/src/rtpp_controlfd.c:283,1
    - Dst: warn
      Src: /src/rtpproxy/src/rtpp_controlfd.c:284,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 290
    functionName: rtpp_controlfd_init
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 1
    functionsReached:
    - warn
    - controlfd_init_systemd
    - fileno
    - atoi_safe
    - controlfd_init_udp
    - warnx
    - controlfd_init_ifsun
    - RTPP_LIST_HEAD
    - controlfd_init_tcp
    - abort
    - fcntl
    - RTPP_ITER_NEXT
    linkageType: ''
    returnType: int
    signature: int rtpp_controlfd_init(const struct rtpp_cfg *cfsp)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ctrl_sock
    argTypes:
    - struct rtpp_ctrl_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 317
    functionName: rtpp_csock_addrlen
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t rtpp_csock_addrlen(struct rtpp_ctrl_sock *ctrl_sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_controlfd.c:324,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_controlfd.c:325,1
    - Dst: RTPP_CTRL_ISUNIX
      Src: /src/rtpproxy/src/rtpp_controlfd.c:326,1
    - Dst: unlink
      Src: /src/rtpproxy/src/rtpp_controlfd.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: rtpp_controlfd_cleanup
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 2
    functionsReached:
    - RTPP_CTRL_ISUNIX
    - RTPP_ITER_NEXT
    - unlink
    - RTPP_LIST_HEAD
    linkageType: ''
    returnType: void
    signature: void rtpp_controlfd_cleanup(const struct rtpp_cfg *cfsp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_controlfd.c:337,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:342,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:345,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:348,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:351,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:354,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:357,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:360,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:364,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:367,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_controlfd.c:370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 377
    functionName: rtpp_ctrl_sock_parse
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 1
    functionsReached:
    - rtpp_zmalloc
    - strncmp
    linkageType: ''
    returnType: struct rtpp_ctrl_sock
    signature: 'struct rtpp_ctrl_sock *

      rtpp_ctrl_sock_parse(const char *optarg)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_controlfd.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - rcsp
    argTypes:
    - struct rtpp_ctrl_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 412
    functionName: rtpp_ctrl_sock_describe
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_ctrl_sock_describe(struct rtpp_ctrl_sock *rcsp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:61,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: rtpp_rzmalloc_perf
    functionSourceFile: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct dummy
    signature: 'struct dummy *

      rtpp_rzmalloc_perf(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:76,1
    - Dst: rtpp_refcnt_ctor
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:80,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: rtpp_refcnt_perf
    functionSourceFile: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - rtpp_refcnt_ctor
    linkageType: ''
    returnType: struct dummy
    signature: 'struct dummy *

      rtpp_refcnt_perf(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:98,1
    - Dst: rtpp_refcnt_ctor
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:102,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:107,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: rtpp_refcnt_trace_perf
    functionSourceFile: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - rtpp_refcnt_ctor
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct dummy
    signature: 'struct dummy *

      rtpp_refcnt_trace_perf(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getreturnaddr
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:141,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:142,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:143,1
    - Dst: execinfo_set_topframe
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:143,1
    - Dst: rtpp_stacktrace
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:144,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:145,1
    - Dst: execinfo_set_topframe
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:145,1
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:149,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:153,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:158,1
    - Dst: "struct {\n       perf_func_ctor_t pfunc_ctor;\n       const char *tname;\n
        \   }*::pfunc_ctor"
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:161,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:163,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:168,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:171,1
    - Dst: printf
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:172,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_rzmalloc_perf.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (_trp != NULL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    - condition: (execinfo_set_topframe(_trp) == NULL)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    - condition: (execinfo_set_topframe(NULL) == _trp)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    constantsTouched: []
    func_position:
      end: 183
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 183
    functionName: main
    functionSourceFile: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    functionUses: 0
    functionsReached:
    - getdtime
    - getreturnaddr
    - "struct {\n       perf_func_ctor_t pfunc_ctor;\n       const char *tname;\n
      \   }*::pfunc_ctor"
    - execinfo_set_topframe
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - assert
    - RTPP_MEMDEB_APP_INIT
    - printf
    - rtpp_memdeb_dumpstats
    - rtpp_stacktrace
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_ucl.c:44,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/src/rtpp_ucl.c:45,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/src/rtpp_ucl.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - log
    - top
    - obj
    - target
    argTypes:
    - struct rtpp_log*
    - ucl_object_t*
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: rtpp_ucl_set_unknown
    functionSourceFile: /src/rtpproxy/src/rtpp_ucl.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - ucl_object_key
    linkageType: ''
    returnType: bool
    signature: "bool rtpp_ucl_set_unknown(struct rtpp_log *log, const ucl_object_t
      *top,\n  const ucl_object_t *obj, void *target __attribute__((unused)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tostring_forced
      Src: /src/rtpproxy/src/rtpp_ucl.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: r_ucl_object_tostring_forced
    functionSourceFile: /src/rtpproxy/src/rtpp_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_tostring_forced
    linkageType: ''
    returnType: char
    signature: 'char *

      r_ucl_object_tostring_forced(const ucl_object_t *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_type
      Src: /src/rtpproxy/src/rtpp_ucl.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: r_ucl_object_type
    functionSourceFile: /src/rtpproxy/src/rtpp_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_type
    linkageType: ''
    returnType: ucl_type_t
    signature: ucl_type_t r_ucl_object_type(const ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/src/rtpp_ucl.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: r_ucl_object_toint
    functionSourceFile: /src/rtpproxy/src/rtpp_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_toint
    linkageType: ''
    returnType: int64_t
    signature: int64_t r_ucl_object_toint(const ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_key
      Src: /src/rtpproxy/src/rtpp_ucl.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: r_ucl_object_key
    functionSourceFile: /src/rtpproxy/src/rtpp_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_key
    linkageType: ''
    returnType: char
    signature: 'char *

      r_ucl_object_key(const ucl_object_t *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - rot_name
    - ','
    - init_args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: DECLARE_CLASS
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_CLASS(rot_name, init_args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rot_name
    - ','
    - custom_struct
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: DECLARE_CLASS_PUBTYPE
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_CLASS_PUBTYPE(rot_name, custom_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rot_name
    - ','
    - custom_struct
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: DECLARE_CLASS_PUBTYPE
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_CLASS_PUBTYPE(rot_name, custom_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - class
    - ','
    - func
    - ','
    - rval
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DECLARE_METHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_METHOD(class, func, rval, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rot_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_SMETHODS(rot_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - rot_name
    - ','
    - methods
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: DEFINE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SMETHODS(rot_name, methods...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pub_inst
    - ','
    - pvt_inst
    - ','
    - dtor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: PUBINST_FININIT
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUBINST_FININIT(pub_inst, pvt_inst, dtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pub_inst
    - ','
    - pvt_inst
    - ','
    - dtor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: PUBINST_FININIT
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUBINST_FININIT(pub_inst, pvt_inst, dtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - class
    - ','
    - func
    - ','
    - rval
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: DEFINE_METHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_METHOD(class, func, rval, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - func
    - ','
    - rval
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DEFINE_RAW_METHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_RAW_METHOD(func, rval, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - epname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: METHOD_ENTRY
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: METHOD_ENTRY(func, epname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: CALL_METHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_METHOD(obj, method, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: GET_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SMETHODS(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: GET_SMETHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SMETHOD(obj, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: GET_SMETHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SMETHOD(obj, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - obj
    - ','
    - method
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: CALL_SMETHOD
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_SMETHOD(obj, method, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: typeof
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: typeof(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: typeof
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: typeof(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvtp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: PVT_RCOFFS
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PVT_RCOFFS(pvtp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pub
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: PUB_RCOFFS
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUB_RCOFFS(pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pubp
    - ','
    - pvtp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: PUB2PVT
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUB2PVT(pubp, pvtp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: CONST
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: RTPP_OBJ_INCREF
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_INCREF(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: RTPP_OBJ_DECREF
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DECREF(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - f
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: RTPP_OBJ_DTOR_ATTACH
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DTOR_ATTACH(obj, f, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - f
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: RTPP_OBJ_DTOR_ATTACH_s
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DTOR_ATTACH_s(obj, f, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: RTPP_OBJ_DTOR_ATTACH_RC
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DTOR_ATTACH_RC(obj, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: RTPP_OBJ_DTOR_ATTACH_RC_s
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DTOR_ATTACH_RC_s(obj, rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - obj1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: RTPP_OBJ_DTOR_ATTACH_OBJ
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DTOR_ATTACH_OBJ(obj, obj1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - obj1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: RTPP_OBJ_DTOR_ATTACH_OBJ_s
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_DTOR_ATTACH_OBJ_s(obj, obj1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bob
    - ','
    - lob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: RTPP_OBJ_BORROW
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_BORROW(bob, lob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bob
    - ','
    - lob
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: RTPP_OBJ_BORROW_s
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_OBJ_BORROW_s(bob, lob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - functype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: DEFINE_CB_STRUCT
    functionSourceFile: /src/rtpproxy/src/rtpp_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_CB_STRUCT(functype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_session.h:53,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_session.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_session.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_session)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:76,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:89,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:99,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - cfsp
    - stp
    - dtime
    - drain_repeat
    - sender
    - rsp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_stream*
    - struct rtpp_timestamp*
    - int
    - struct sthread_args*
    - struct rtpp_proc_rstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 105
    functionName: rxmit_packets
    functionSourceFile: /src/rtpproxy/src/rtpp_proc.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: "void rxmit_packets(const struct rtpp_cfg *cfsp, struct rtpp_stream
      *stp,\n  const struct rtpp_timestamp *dtime, int drain_repeat, struct sthread_args
      *sender,\n  struct rtpp_proc_rstats *rsp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_proc.c:124,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc.c:125,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_proc.c:127,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:132,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:133,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:135,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:137,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:140,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:143,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:146,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:148,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:151,1
    - Dst: rxmit_packets
      Src: /src/rtpproxy/src/rtpp_proc.c:154,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:158,1
    - Dst: rtp_resizer_get
      Src: /src/rtpproxy/src/rtpp_proc.c:163,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:164,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:170,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:172,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:176,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:177,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc.c:178,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc.c:183,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 8
    argNames:
    - cfsp
    - ptbl
    - dtime
    - drain_repeat
    - sender
    - rsp
    - events
    - nready
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_polltbl*
    - struct rtpp_timestamp*
    - int
    - struct sthread_args*
    - struct rtpp_proc_rstats*
    - struct epoll_event[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 185
    functionName: process_rtp_only
    functionSourceFile: /src/rtpproxy/src/rtpp_proc.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - rxmit_packets
    - RTPP_OBJ_DECREF
    - CALL_SMETHOD
    - read
    - rtp_resizer_get
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void process_rtp_only(const struct rtpp_cfg *cfsp, struct rtpp_polltbl
      *ptbl,\n  const struct rtpp_timestamp *dtime, int drain_repeat, struct sthread_args
      *sender,\n  struct rtpp_proc_rstats *rsp, struct epoll_event events[], int nready)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: EXPAND_AND_CONCAT
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND_AND_CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: CONCAT
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: mod_malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_malloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: mod_zmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_zmalloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: mod_rzmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_rzmalloc(n, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: mod_free
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: mod_realloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_realloc(p,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: mod_strdup
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_strdup(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - pp
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: mod_asprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_asprintf(pp, fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - fmt
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: mod_vasprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_vasprintf(pp, fmt, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: mod_malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_malloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: mod_zmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_zmalloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: mod_rzmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_rzmalloc(n, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: mod_free
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: mod_realloc
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_realloc(p,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: mod_strdup
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_strdup(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - pp
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: mod_asprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_asprintf(pp, fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - fmt
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: mod_vasprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mod_vasprintf(pp, fmt, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: MI_VER_INIT
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MI_VER_INIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: MI_VER_CHCK
    functionSourceFile: /src/rtpproxy/src/rtpp_module.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MI_VER_CHCK(sptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:59,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:59,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:63,1
    - Dst: strdup
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:65,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:70,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:75,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - call_id
    - pp
    argTypes:
    - char*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: rtpp_acct_rtcp_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_acct_rtcp.c
    functionUses: 1
    functionsReached:
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - rtpp_rzmalloc
    - strdup
    linkageType: ''
    returnType: struct rtpp_acct_rtcp
    signature: 'struct rtpp_acct_rtcp *

      rtpp_acct_rtcp_ctor(const char *call_id, const struct rtp_packet *pp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:86,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct_rtcp.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_acct_rtcp_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: rtpp_acct_rtcp_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_acct_rtcp.c
    functionUses: 0
    functionsReached:
    - free
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_rtcp_dtor(struct rtpp_acct_rtcp_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: IS_WEIRD_ERRNO
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_WEIRD_ERRNO(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:58,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:59,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:60,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:61,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:62,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:63,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:64,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:65,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:66,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:67,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_command_reply.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpc_reply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: rtpp_tnotify_set_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 1
    functionsReached:
    - rtpp_zmalloc
    linkageType: ''
    returnType: struct rtpp_tnotify_set
    signature: 'struct rtpp_tnotify_set *

      rtpp_tnotify_set_ctor(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:114,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:118,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:120,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:121,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:124,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:125,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:128,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:129,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_tnotify_set*
    assertStmts:
    - condition: (tp->fd >= 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: rtpp_tnotify_set_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - free
    - close
    - PUB2PVT
    - assert
    linkageType: ''
    returnType: void
    signature: void rtpp_tnotify_set_dtor(struct rtpp_tnotify_set *pub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:141,1
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:146,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:160,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 7
    argNames:
    - hostport
    - host
    - hsize
    - port
    - psize
    - testonly
    - e
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 164
    functionName: parse_hostport
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - atoi
    - snprintf
    - memcpy
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int parse_hostport(const char *hostport, char *host, int hsize, char
      *port, int psize,\n  int testonly, const char **e)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:181,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:184,1
    - Dst: parse_hostport
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:185,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:189,1
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:191,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:203,1
    - Dst: sstosun
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:207,1
    - Dst: strncpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:209,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:211,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:217,1
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:219,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:224,1
    - Dst: resolve
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:225,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:227,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:230,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:235,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:236,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:236,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:238,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:240,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:244,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 3
    argNames:
    - sock_name
    - rtep
    - e
    argTypes:
    - char*
    - union rtpp_tnotify_entry*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 251
    functionName: parse_timeout_sock
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - SA_LEN
    - rtpp_zmalloc
    - atoi
    - sstosun
    - strncpy
    - strncmp
    - parse_hostport
    - resolve
    - sstosa
    - gai_strerror
    - strerror
    - memcpy
    - atoi_safe
    - snprintf
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int parse_timeout_sock(const char *sock_name, union rtpp_tnotify_entry
      *rtep,\n  const char **e)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:263,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:264,1
    - Dst: parse_timeout_sock
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:265,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:276,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:278,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:281,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:295,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:297,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:300,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:309,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 3
    argNames:
    - pub
    - socket_name
    - e
    argTypes:
    - struct rtpp_tnotify_set*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 314
    functionName: rtpp_tnotify_set_append
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - free
    - strerror
    - malloc
    - parse_timeout_sock
    - memcpy
    - memset
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: "int rtpp_tnotify_set_append(struct rtpp_tnotify_set *pub,\n  const
      char *socket_name, const char **e)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:326,1
    - Dst: inet_aton
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:327,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:328,1
    - Dst: ishostseq
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:340,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:340,1
    - Dst: getport
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:342,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:342,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:346,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:351,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:356,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:356,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:358,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:361,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:361,1
    - Dst: setanyport
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:362,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:364,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:365,1
    - Dst: setport
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:366,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:366,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - pvt
    - wp
    - ccaddr
    - laddr
    argTypes:
    - struct rtpp_tnotify_set_priv*
    - struct rtpp_tnotify_wildcard*
    - struct sockaddr*
    - struct sockaddr*
    assertStmts:
    - condition: (wp->socket_type != RTPP_TNS_FD)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
    constantsTouched: []
    func_position:
      end: 373
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 373
    functionName: get_tp4wp
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - inet_aton
    - SA_LEN
    - sstosa
    - malloc
    - ishostseq
    - memcpy
    - setport
    - getport
    - assert
    - setanyport
    - memset
    linkageType: ''
    returnType: struct rtpp_tnotify_target
    signature: "struct rtpp_tnotify_target *\nget_tp4wp(struct rtpp_tnotify_set_priv
      *pvt, struct rtpp_tnotify_wildcard *wp,\n  struct sockaddr *ccaddr, struct sockaddr
      *laddr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:384,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:388,1
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:392,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:402,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:407,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:414,1
    - Dst: RTPP_TNT_STYPE
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:416,1
    - Dst: get_tp4wp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:418,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:422,1
    - Dst: get_tp4wp
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:424,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 4
    argNames:
    - pub
    - socket_name
    - ccaddr
    - laddr
    argTypes:
    - struct rtpp_tnotify_set*
    - char*
    - struct sockaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 427
    functionName: rtpp_tnotify_set_lookup
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - strcmp
    - RTPP_TNT_STYPE
    - get_tp4wp
    - strchr
    - memcmp
    - PUB2PVT
    linkageType: ''
    returnType: struct rtpp_tnotify_target
    signature: "struct rtpp_tnotify_target *\nrtpp_tnotify_set_lookup(struct rtpp_tnotify_set
      *pub, const char *socket_name,\n  struct sockaddr *ccaddr, struct sockaddr *laddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_tnotify_set.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_tnotify_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 436
    functionName: rtpp_tnotify_set_isenabled
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_set.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_tnotify_set_isenabled(struct rtpp_tnotify_set *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_pearson.c:41,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_pearson.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rpp
    argTypes:
    - struct rtpp_pearson*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: rtpp_pearson_shuffle
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson.c
    functionUses: 0
    functionsReached:
    - random
    - memset
    linkageType: ''
    returnType: void
    signature: void rtpp_pearson_shuffle(struct rtpp_pearson *rpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - rpp
    - bp
    - ep
    argTypes:
    - struct rtpp_pearson*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: rtpp_pearson_hash8
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rtpp_pearson_hash8(struct rtpp_pearson *rpp, const char *bp,
      const char *ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rpp
    - bp
    - blen
    argTypes:
    - struct rtpp_pearson*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: rtpp_pearson_hash8b
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t rtpp_pearson_hash8b(struct rtpp_pearson *rpp, const uint8_t
      *bp, size_t blen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:90,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:94,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:95,1
    - Dst: pthread_cond_wait
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:97,1
    - Dst: dtime2mtimespec
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:100,1
    - Dst: pthread_cond_timedwait
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:101,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:108,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:109,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:114,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:116,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:121,1
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:123,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:125,1
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:126,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:128,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 132
    functionName: rtpp_proc_wakeup_run
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_wakeup.c
    functionUses: 0
    functionsReached:
    - getdtime
    - write
    - atomic_load
    - atomic_store
    - pthread_cond_timedwait
    - dtime2mtimespec
    - pthread_cond_wait
    - pthread_mutex_unlock
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_wakeup_run(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:140,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:141,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:141,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:144,1
    - Dst: pthread_condattr_init
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:146,1
    - Dst: pthread_condattr_setclock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:148,1
    - Dst: pthread_cond_init
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:150,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:152,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:155,1
    - Dst: pthread_condattr_destroy
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:157,1
    - Dst: rtpp_proc_async_setprocname
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:158,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:159,1
    - Dst: pthread_yield
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:161,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:163,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:165,1
    - Dst: pthread_cond_destroy
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:168,1
    - Dst: pthread_condattr_destroy
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:170,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:172,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - rtp_wakefd
    - rtcp_wakefd
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 177
    functionName: rtpp_proc_wakeup_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_wakeup.c
    functionUses: 0
    functionsReached:
    - pthread_condattr_init
    - pthread_mutex_init
    - rtpp_proc_async_setprocname
    - atomic_load
    - pthread_condattr_destroy
    - PUBINST_FININIT
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    - pthread_cond_destroy
    - PVT_RCOFFS
    - pthread_cond_init
    - pthread_create
    - pthread_yield
    - sched_yield
    - rtpp_rzmalloc
    - atomic_init
    - RTPP_DBG_ASSERT
    - pthread_condattr_setclock
    linkageType: ''
    returnType: struct rtpp_proc_wakeup
    signature: 'struct rtpp_proc_wakeup *

      rtpp_proc_wakeup_ctor(int rtp_wakefd, int rtcp_wakefd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_proc_wakeup_fin
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:183,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:184,1
    - Dst: rtpp_proc_wakeup_nudge
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:186,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:187,1
    - Dst: pthread_cond_destroy
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:188,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_proc_wakeup_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: rtpp_proc_wakeup_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_wakeup.c
    functionUses: 0
    functionsReached:
    - rtpp_proc_wakeup_nudge
    - atomic_store
    - pthread_mutex_destroy
    - pthread_join
    - pthread_cond_destroy
    - rtpp_proc_wakeup_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_wakeup_dtor(struct rtpp_proc_wakeup_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:198,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:199,1
    - Dst: pthread_cond_signal
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:204,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_proc_wakeup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: rtpp_proc_wakeup_nudge
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_wakeup.c
    functionUses: 1
    functionsReached:
    - pthread_cond_signal
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_proc_wakeup_nudge(struct rtpp_proc_wakeup *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rmalloc
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:52,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:52,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - apiname
    - data
    - datalen
    argTypes:
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: rtpp_wi_malloc_apis
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_apis.c
    functionUses: 2
    functionsReached:
    - rtpp_rmalloc
    - memcpy
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_wi_malloc_apis(const char *apiname, void *data, size_t datalen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:73,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wi
    argTypes:
    - struct rtpp_wi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: rtpp_wi_apis_getname
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_apis.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_wi_apis_getname(struct rtpp_wi *wi)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:83,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:84,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:85,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_apis.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - wi
    - datap
    - datalen
    argTypes:
    - struct rtpp_wi*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: rtpp_wi_apis_getnamearg
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_apis.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - memcpy
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_wi_apis_getnamearg(struct rtpp_wi *wi, void **datap, size_t datalen)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log.c:38,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log.c:41,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log.c:44,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log.c:47,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - strl
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: rtpp_log_str2lvl
    functionSourceFile: /src/rtpproxy/src/rtpp_log.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int rtpp_log_str2lvl(const char *strl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: rtpp_log_str2fac
    functionSourceFile: /src/rtpproxy/src/rtpp_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtpp_log_str2fac(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: SEC
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: NSEC
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: USEC
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: timespeciszero
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespeciszero(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: timevaliszero
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timevaliszero(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: timespec2dtime
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespec2dtime(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ts_sec
    - ','
    - ts_usec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: ts2dtime
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ts2dtime(ts_sec, ts_usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: timeval2dtime
    functionSourceFile: /src/rtpproxy/src/rtpp_time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeval2dtime(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:104,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:108,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:112,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:117,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - hp
    - alen
    argTypes:
    - struct rtpp_polltbl_hst*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: rtpp_polltbl_hst_alloc
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - pthread_mutex_init
    linkageType: ''
    returnType: int
    signature: int rtpp_polltbl_hst_alloc(struct rtpp_polltbl_hst *hp, int alen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:133,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:137,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:138,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct rtpp_polltbl_hst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: rtpp_polltbl_hst_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_polltbl_hst_dtor(struct rtpp_polltbl_hst *hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct rtpp_polltbl_hst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: rtpp_polltbl_hst_extend
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int rtpp_polltbl_hst_extend(struct rtpp_polltbl_hst *hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - hp
    - op
    - stuid
    - skt
    argTypes:
    - struct rtpp_polltbl_hst*
    - enum polltbl_hst_ops
    - uint64_t
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: rtpp_polltbl_hst_record
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    linkageType: ''
    returnType: void
    signature: "void rtpp_polltbl_hst_record(struct rtpp_polltbl_hst *hp, enum polltbl_hst_ops
      op,\n  uint64_t stuid, struct rtpp_socket *skt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:181,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:181,1
    - Dst: rtpp_polltbl_hst_alloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:186,1
    - Dst: rtpp_polltbl_hst_alloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:189,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:195,1
    - Dst: rtpp_polltbl_hst_dtor
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:199,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: rtpp_sessinfo_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 1
    functionsReached:
    - PUBINST_FININIT
    - rtpp_polltbl_hst_dtor
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    - rtpp_polltbl_hst_alloc
    linkageType: ''
    returnType: struct rtpp_sessinfo
    signature: 'struct rtpp_sessinfo *

      rtpp_sessinfo_ctor(const struct rtpp_cfg *cfsp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_sessinfo_fin
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:209,1
    - Dst: rtpp_polltbl_hst_dtor
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:210,1
    - Dst: rtpp_polltbl_hst_dtor
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_sessinfo_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: rtpp_sessinfo_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - rtpp_polltbl_hst_dtor
    - rtpp_sessinfo_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_sessinfo_dtor(struct rtpp_sessinfo_priv *pvt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:221,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:222,1
    - Dst: rtpp_polltbl_hst_extend
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:224,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:228,1
    - Dst: rtpp_polltbl_hst_extend
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:230,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:235,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:236,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:237,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:240,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:241,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:242,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:246,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - sessinfo
    - sp
    - index
    - new_fds
    argTypes:
    - struct rtpp_sessinfo*
    - struct rtpp_session*
    - int
    - struct rtpp_socket**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 250
    functionName: rtpp_sinfo_append
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - rtpp_polltbl_hst_extend
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - rtpp_polltbl_hst_record
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_sinfo_append(struct rtpp_sessinfo *sessinfo, struct rtpp_session
      *sp,\n  int index, struct rtpp_socket **new_fds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:261,1
    - Dst: return
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ptp
    - stuid
    argTypes:
    - struct rtpp_polltbl*
    - uint64_t
    assertStmts:
    - condition: (j == -1)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: find_polltbl_idx
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - return
    - assert
    linkageType: ''
    returnType: int
    signature: int find_polltbl_idx(struct rtpp_polltbl *ptp, uint64_t stuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (j == -1)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:278,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:280,1
    - Dst: rtpp_polltbl_hst_extend
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:282,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:286,1
    - Dst: rtpp_polltbl_hst_extend
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:288,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:293,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:295,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:296,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:297,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:299,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:300,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:303,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:305,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:306,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:307,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:309,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:310,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:314,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - sessinfo
    - sp
    - index
    - new_fds
    argTypes:
    - struct rtpp_sessinfo*
    - struct rtpp_session*
    - int
    - struct rtpp_socket**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 317
    functionName: rtpp_sinfo_update
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    - rtpp_polltbl_hst_extend
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - rtpp_polltbl_hst_record
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_sinfo_update(struct rtpp_sessinfo *sessinfo, struct rtpp_session
      *sp,\n  int index, struct rtpp_socket **new_fds)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:327,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:331,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:332,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:334,1
    - Dst: rtpp_polltbl_hst_extend
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:336,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:342,1
    - Dst: rtpp_polltbl_hst_extend
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:344,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:350,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:351,1
    - Dst: rtpp_polltbl_hst_record
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:354,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:355,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:358,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:360,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:363,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:366,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - sessinfo
    - sp
    - index
    argTypes:
    - struct rtpp_sessinfo*
    - struct rtpp_session*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 367
    functionName: rtpp_sinfo_remove
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    - rtpp_polltbl_hst_extend
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - rtpp_polltbl_hst_record
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_sinfo_remove(struct rtpp_sessinfo *sessinfo, struct rtpp_session
      *sp,\n  int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:376,1
    - Dst: rtpp_epoll_ctl
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:377,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:378,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:380,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:382,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptbl
    argTypes:
    - struct rtpp_polltbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 384
    functionName: rtpp_polltbl_free
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - free
    - close
    - RTPP_OBJ_DECREF
    - CALL_SMETHOD
    - rtpp_epoll_ctl
    linkageType: ''
    returnType: void
    signature: void rtpp_polltbl_free(struct rtpp_polltbl *ptbl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:396,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:400,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:402,1
    - Dst: realloc
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:409,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:424,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:435,1
    - Dst: find_polltbl_idx
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:435,1
    - Dst: rtpp_epoll_ctl
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:440,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:440,1
    - Dst: find_polltbl_idx
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:447,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:448,1
    - Dst: rtpp_epoll_ctl
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:449,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:449,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:450,1
    - Dst: memmove
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:453,1
    - Dst: find_polltbl_idx
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:460,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:461,1
    - Dst: rtpp_epoll_ctl
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:462,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:462,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:463,1
    - Dst: rtpp_epoll_ctl
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:466,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:466,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:480,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_sessinfo.c:484,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 73
    argCount: 3
    argNames:
    - sessinfo
    - ptbl
    - pipe_type
    argTypes:
    - struct rtpp_sessinfo*
    - struct rtpp_polltbl*
    - int
    assertStmts:
    - condition: (find_polltbl_idx(ptbl, hep->stuid) < 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    - condition: (session_index > -1)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    - condition: (session_index > -1)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    constantsTouched: []
    func_position:
      end: 486
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 486
    functionName: rtpp_sinfo_sync_polltbl
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.c
    functionUses: 0
    functionsReached:
    - find_polltbl_idx
    - memmove
    - RTPP_OBJ_DECREF
    - realloc
    - assert
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - PUB2PVT
    - rtpp_epoll_ctl
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_sinfo_sync_polltbl(struct rtpp_sessinfo *sessinfo,\n  struct
      rtpp_polltbl *ptbl, int pipe_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/rtpproxy/src/rtpp_network_io.c:48,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_network_io.c:58,1
    - Dst: recvmsg
      Src: /src/rtpproxy/src/rtpp_network_io.c:68,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/rtpproxy/src/rtpp_network_io.c:73,1
    - Dst: CMSG_NXTHDR
      Src: /src/rtpproxy/src/rtpp_network_io.c:74,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_network_io.c:78,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network_io.c:78,1
    - Dst: CMSG_DATA
      Src: /src/rtpproxy/src/rtpp_network_io.c:78,1
    - Dst: CMSG_DATA
      Src: /src/rtpproxy/src/rtpp_network_io.c:87,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_network_io.c:88,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_network_io.c:88,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_network_io.c:97,1
    - Dst: CMSG_DATA
      Src: /src/rtpproxy/src/rtpp_network_io.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 10
    argNames:
    - s
    - buf
    - len
    - from
    - fromlen
    - to
    - tolen
    - tp
    - tplen
    - mtype
    argTypes:
    - int
    - void*
    - size_t
    - struct sockaddr*
    - socklen_t*
    - struct sockaddr*
    - socklen_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 102
    functionName: _recvfromto
    functionSourceFile: /src/rtpproxy/src/rtpp_network_io.c
    functionUses: 0
    functionsReached:
    - CMSG_FIRSTHDR
    - CMSG_DATA
    - memcpy
    - satosin
    - CMSG_NXTHDR
    - CMSG_SPACE
    - recvmsg
    - memset
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _recvfromto(int s, void *buf, size_t len, struct sockaddr
      *from,\n  socklen_t *fromlen, struct sockaddr *to, socklen_t *tolen,\n  void
      *tp, size_t tplen, int mtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _recvfromto
      Src: /src/rtpproxy/src/rtpp_network_io.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - s
    - buf
    - len
    - from
    - fromlen
    - to
    - tolen
    - timeptr
    argTypes:
    - int
    - void*
    - size_t
    - struct sockaddr*
    - socklen_t*
    - struct sockaddr*
    - socklen_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: recvfromto
    functionSourceFile: /src/rtpproxy/src/rtpp_network_io.c
    functionUses: 1
    functionsReached:
    - _recvfromto
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recvfromto(int s, void *buf, size_t len, struct sockaddr *from,\n
      \ socklen_t *fromlen, struct sockaddr *to, socklen_t *tolen,\n  struct timespec
      *timeptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _recvfromto
      Src: /src/rtpproxy/src/rtpp_network_io.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - s
    - buf
    - len
    - from
    - fromlen
    - to
    - tolen
    - timeptr
    argTypes:
    - int
    - void*
    - size_t
    - struct sockaddr*
    - socklen_t*
    - struct sockaddr*
    - socklen_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: recvfromto_mono
    functionSourceFile: /src/rtpproxy/src/rtpp_network_io.c
    functionUses: 0
    functionsReached:
    - _recvfromto
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t recvfromto_mono(int s, void *buf, size_t len, struct sockaddr
      *from,\n  socklen_t *fromlen, struct sockaddr *to, socklen_t *tolen,\n  struct
      timespec *timeptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: rtpp_zmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_zmalloc(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: rtpp_rzmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_rzmalloc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: rtpp_rmalloc
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_rmalloc(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kqueue
      Src: /src/rtpproxy/src/rtpp_epoll.c:49,1
    - Dst: epoll_create
      Src: /src/rtpproxy/src/rtpp_epoll.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: rtpp_epoll_create
    functionSourceFile: /src/rtpproxy/src/rtpp_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_create
    - kqueue
    linkageType: ''
    returnType: int
    signature: int rtpp_epoll_create()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/rtpproxy/src/rtpp_epoll.c:65,1
    - Dst: kevent
      Src: /src/rtpproxy/src/rtpp_epoll.c:66,1
    - Dst: EV_SET
      Src: /src/rtpproxy/src/rtpp_epoll.c:68,1
    - Dst: kevent
      Src: /src/rtpproxy/src/rtpp_epoll.c:69,1
    - Dst: EV_SET
      Src: /src/rtpproxy/src/rtpp_epoll.c:77,1
    - Dst: kevent
      Src: /src/rtpproxy/src/rtpp_epoll.c:78,1
    - Dst: EV_SET
      Src: /src/rtpproxy/src/rtpp_epoll.c:84,1
    - Dst: kevent
      Src: /src/rtpproxy/src/rtpp_epoll.c:85,1
    - Dst: epoll_ctl
      Src: /src/rtpproxy/src/rtpp_epoll.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - epfd
    - op
    - fd
    - event
    argTypes:
    - int
    - int
    - int
    - struct epoll_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: rtpp_epoll_ctl
    functionSourceFile: /src/rtpproxy/src/rtpp_epoll.c
    functionUses: 2
    functionsReached:
    - kevent
    - EV_SET
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: int rtpp_epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_epoll.c:106,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_epoll.c:109,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_epoll.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - events
    - alloclen
    - kep
    - i
    argTypes:
    - struct epoll_event*
    - int
    - struct kevent*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: append_kevent
    functionSourceFile: /src/rtpproxy/src/rtpp_epoll.c
    functionUses: 0
    functionsReached:
    - abort
    - memset
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int append_kevent(struct epoll_event *events, int alloclen, const struct
      kevent *kep, int i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/rtpproxy/src/rtpp_epoll.c:138,1
    - Dst: kevent
      Src: /src/rtpproxy/src/rtpp_epoll.c:148,1
    - Dst: append_kevent
      Src: /src/rtpproxy/src/rtpp_epoll.c:153,1
    - Dst: epoll_wait
      Src: /src/rtpproxy/src/rtpp_epoll.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - epfd
    - events
    - maxevents
    - timeout
    argTypes:
    - int
    - struct epoll_event*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 159
    functionName: rtpp_epoll_wait
    functionSourceFile: /src/rtpproxy/src/rtpp_epoll.c
    functionUses: 0
    functionsReached:
    - alloca
    - kevent
    - append_kevent
    - epoll_wait
    linkageType: ''
    returnType: int
    signature: "int rtpp_epoll_wait(int epfd, struct epoll_event *events,\n  int maxevents,
      int timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rmalloc
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:56,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:56,1
    - Dst: rtpp_rmalloc_memdeb
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:58,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:59,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - mlp
    - signum
    - data
    - datalen
    argTypes:
    - struct rtpp_codeptr*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: rtpp_wi_malloc_sgnl_memdeb
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_sgnl.c
    functionUses: 0
    functionsReached:
    - rtpp_rmalloc
    - rtpp_rmalloc_memdeb
    - memcpy
    - PVT_RCOFFS
    linkageType: ''
    returnType: void
    signature: void rtpp_wi_malloc_sgnl_memdeb(const struct rtpp_codeptr *mlp, int
      signum, const void *data, size_t datalen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:81,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wi
    - datalen
    argTypes:
    - struct rtpp_wi*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: rtpp_wi_sgnl_get_data
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_sgnl.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_wi_sgnl_get_data(struct rtpp_wi *wi, size_t *datalen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:94,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wi_sgnl.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wi
    argTypes:
    - struct rtpp_wi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: rtpp_wi_sgnl_get_signum
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_sgnl.c
    functionUses: 3
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int rtpp_wi_sgnl_get_signum(struct rtpp_wi *wi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: rtpp_acct_rtcp_OSIZE
    functionSourceFile: /src/rtpproxy/src/rtpp_acct_rtcp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_acct_rtcp_OSIZE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_genuid.c:56,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_genuid.c:56,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_genuid.c:60,1
    - Dst: GET_SMETHODS
      Src: /src/rtpproxy/src/rtpp_genuid.c:62,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_genuid.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: rtpp_genuid_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_genuid.c
    functionUses: 1
    functionsReached:
    - GET_SMETHODS
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - rtpp_rzmalloc
    - atomic_init
    linkageType: ''
    returnType: struct rtpp_genuid
    signature: 'struct rtpp_genuid *

      rtpp_genuid_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_genuid.c:77,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_genuid.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_genuid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: rtpp_genuid_gen
    functionSourceFile: /src/rtpproxy/src/rtpp_genuid.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - PUB2PVT
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rtpp_genuid_gen(struct rtpp_genuid *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sbp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: RS_ULEN
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RS_ULEN(sbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ilen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: rtpp_sbuf_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_sbuf_ctor(ilen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sbp
    - ','
    - nlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: rtpp_sbuf_extend
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_sbuf_extend(sbp, nlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sbp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: rtpp_sbuf_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_sbuf_dtor(sbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson_perfect.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_pearson_perfect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_glitch.c:77,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:78,1
    - Dst: getpid
      Src: /src/rtpproxy/src/rtpp_glitch.c:79,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_glitch.c:81,1
    - Dst: htonl
      Src: /src/rtpproxy/src/rtpp_glitch.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:84,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_glitch.c:84,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_glitch.c:87,1
    - Dst: htonl
      Src: /src/rtpproxy/src/rtpp_glitch.c:89,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_glitch.c:90,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:92,1
    - Dst: connect
      Src: /src/rtpproxy/src/rtpp_glitch.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mgd.mysocket >= 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: "(bind(mgd.mysocket, (struct sockaddr *)&dest,\n      sizeof(struct
        sockaddr_in)) == 0)"
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: "(connect(mgd.mysocket, (struct sockaddr *)&dest,\n      sizeof(struct
        sockaddr_in)) == 0)"
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: rtpp_glitch_connecthome
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.c
    functionUses: 0
    functionsReached:
    - bind
    - connect
    - getpid
    - assert
    - socket
    - htons
    - memset
    - htonl
    linkageType: ''
    returnType: void
    signature: void rtpp_glitch_connecthome(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_glitch.c:103,1
    - Dst: send
      Src: /src/rtpproxy/src/rtpp_glitch.c:107,1
    - Dst: getpid
      Src: /src/rtpproxy/src/rtpp_glitch.c:108,1
    - Dst: rtpp_glitch_connecthome
      Src: /src/rtpproxy/src/rtpp_glitch.c:110,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - step
    - hash
    - mlp
    argTypes:
    - intmax_t
    - uintptr_t
    - struct rtpp_codeptr*
    assertStmts:
    - condition: (res == len)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: rtpp_glitch_callhome
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.c
    functionUses: 0
    functionsReached:
    - rtpp_glitch_connecthome
    - getpid
    - snprintf
    - assert
    - send
    linkageType: ''
    returnType: void
    signature: "void rtpp_glitch_callhome(intmax_t step, uintptr_t hash,\n  const
      struct rtpp_codeptr *mlp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: AFLUSH
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFLUSH()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/rtpproxy/src/rtpp_glitch.c:123,1
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_glitch.c:131,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:132,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:135,1
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_glitch.c:141,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:145,1
    - Dst: sscanf
      Src: /src/rtpproxy/src/rtpp_glitch.c:145,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:146,1
    - Dst: AFLUSH
      Src: /src/rtpproxy/src/rtpp_glitch.c:150,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:153,1
    - Dst: unsetenv
      Src: /src/rtpproxy/src/rtpp_glitch.c:153,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_glitch.c:154,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_glitch.c:155,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_glitch.c:156,1
    - Dst: getenv
      Src: /src/rtpproxy/src/rtpp_glitch.c:163,1
    - Dst: AFLUSH
      Src: /src/rtpproxy/src/rtpp_glitch.c:176,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:179,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_glitch.c:179,1
    - Dst: strncpy
      Src: /src/rtpproxy/src/rtpp_glitch.c:180,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:181,1
    - Dst: unsetenv
      Src: /src/rtpproxy/src/rtpp_glitch.c:181,1
    - Dst: strncpy
      Src: /src/rtpproxy/src/rtpp_glitch.c:183,1
    - Dst: getenv
      Src: /src/rtpproxy/src/rtpp_glitch.c:186,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:187,1
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_glitch.c:188,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:189,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_glitch.c:190,1
    - Dst: unsetenv
      Src: /src/rtpproxy/src/rtpp_glitch.c:190,1
    - Dst: rtpp_glitch_connecthome
      Src: /src/rtpproxy/src/rtpp_glitch.c:191,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_glitch.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 1
    argNames:
    - glopts
    argTypes:
    - struct rtpp_glitch_opts*
    assertStmts:
    - condition: (sport != NULL)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (glav[1] == '\0')
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (sscanf(glav, "%" SCNxPTR "\n", &u) == 1)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (u != 0)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (mgd.iport > 0 && mgd.iport < 65536)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (unsetenv(MDG_ENAME) == 0)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (unsetenv(MDG_ACT_ENAME) == 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (iglav >= -1)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (strlen(act) < sizeof(_glav_trig.act))
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    - condition: (unsetenv(MDG_CH_PORT) == 0)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    constantsTouched: []
    func_position:
      end: 196
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 196
    functionName: rtpp_glitch_init
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.c
    functionUses: 1
    functionsReached:
    - rtpp_glitch_connecthome
    - atoi
    - strncpy
    - sscanf
    - unsetenv
    - assert
    - strchr
    - AFLUSH
    - strlen
    - atomic_init
    - getenv
    linkageType: ''
    returnType: void
    signature: void rtpp_glitch_init(struct rtpp_glitch_opts *glopts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:77,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:77,1
    - Dst: rtpp_hash_table_ctor
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:82,1
    - Dst: rtpp_hash_table_ctor
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:84,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:90,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:100,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:105,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - rtpp_timed_cf
    - min_ttl
    argTypes:
    - struct rtpp_timed*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 109
    functionName: rtpp_cmd_rcache_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - rtpp_hash_table_ctor
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_cmd_rcache
    signature: 'struct rtpp_cmd_rcache *

      rtpp_cmd_rcache_ctor(struct rtpp_timed *rtpp_timed_cf, double min_ttl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: rtpp_cmd_rcache_entry_free
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - RC_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_rcache_entry_free(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:127,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:128,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:128,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:134,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:137,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:138,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - pub
    - cookie
    - reply
    - reply_rcnt
    - ctime
    argTypes:
    - struct rtpp_cmd_rcache*
    - rtpp_str_t*
    - rtpp_str_t*
    - struct rtpp_refcnt*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: rtpp_cmd_rcache_insert
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - RC_INCREF
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: "void rtpp_cmd_rcache_insert(struct rtpp_cmd_rcache *pub, const rtpp_str_t
      *cookie,\n  const rtpp_str_t *reply, struct rtpp_refcnt *reply_rcnt, double
      ctime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:155,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:156,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pub
    - cookie
    argTypes:
    - struct rtpp_cmd_rcache*
    - rtpp_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: rtpp_cmd_rcache_lookup
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct rtpp_cmd_rcache_entry
    signature: 'struct rtpp_cmd_rcache_entry *

      rtpp_cmd_rcache_lookup(struct rtpp_cmd_rcache *pub, const rtpp_str_t *cookie)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:173,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:175,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_cmd_rcache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: rtpp_cmd_rcache_shutdown
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_METHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_rcache_shutdown(struct rtpp_cmd_rcache *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_cmd_rcache_fin
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:184,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_cmd_rcache_pvt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: rtpp_cmd_rcache_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - rtpp_cmd_rcache_fin
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_rcache_dtor(struct rtpp_cmd_rcache_pvt *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: rtpp_cmd_rcache_ematch
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtpp_cmd_rcache_ematch(void *dp, void *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_rcache.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctime
    - p
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: rtpp_cmd_rcache_cleanup
    functionSourceFile: /src/rtpproxy/src/rtpp_command_rcache.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: enum rtpp_timed_cb_rvals
    signature: enum rtpp_timed_cb_rvals rtpp_cmd_rcache_cleanup(double ctime, void
      *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:48,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:49,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:50,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:51,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:52,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:53,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:54,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stats.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - thread
    - ','
    - attr
    - ','
    - start_routine
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: pthread_create
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pthread_create(thread, attr, start_routine, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mutex
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: pthread_mutex_init
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pthread_mutex_init(mutex, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - domain
    - ','
    - type
    - ','
    - protocol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: socket
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: socket(domain, type, protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - backlog
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: listen
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: listen(s, backlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - addr
    - ','
    - addrlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: bind
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bind(s, addr, addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - addr
    - ','
    - addrlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: accept
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accept(s, addr, addrlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - msg
    - ','
    - len
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: send
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send(s, msg, len, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - name
    - ','
    - namelen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: connect
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: connect(s, name, namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: chmod
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chmod(path, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - sb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: fstat
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fstat(fd, sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - sb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: stat
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat(path, sb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hostname
    - ','
    - servname
    - ','
    - hints
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: getaddrinfo
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getaddrinfo(hostname, servname, hints, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - path
    - ','
    - flags
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: open
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: open(path, flags, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - fd
    - ','
    - cmd
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: fcntl
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fcntl(fd, cmd, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - resource
    - ','
    - rlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: getrlimit
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getrlimit(resource, rlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - resource
    - ','
    - rlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: setrlimit
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setrlimit(resource, rlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - oldd
    - ','
    - newd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: dup2
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dup2(oldd, newd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: setuid
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setuid(uid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: setgid
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setgid(gid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fildes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: pipe
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pipe(fildes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - nbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: write
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write(fd, buf, nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: setsid
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: fork
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pathname
    - ','
    - resolved_path
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: realpath
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: realpath(pathname, resolved_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - addr
    - ','
    - len
    - ','
    - prot
    - ','
    - flags
    - ','
    - fd
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: mmap
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mmap(addr, len, prot, flags, fd, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: dlopen
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlopen(path, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: dlerror
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: dlsym
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlsym(handle, symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - size
    - ','
    - nmemb
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: fwrite
    functionSourceFile: /src/rtpproxy/src/rtpp_autoglitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fwrite(ptr, size, nmemb, stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_rw_lock.h:42,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_rw_lock.h:43,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_rw_lock.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_rw_lock.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_rw_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcount.h:51,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcount.h:52,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcount.h:53,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcount.h:54,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_pcount.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_pcount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_server.c:97,1
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_server.c:102,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_server.c:108,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_server.c:108,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_server.c:126,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_server.c:127,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_server.c:128,1
    - Dst: RTP_HDR_LEN
      Src: /src/rtpproxy/src/rtpp_server.c:129,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_server.c:131,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_server.c:133,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_server.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct rtpp_server_ctor_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 140
    functionName: rtpp_server_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 1
    functionsReached:
    - random
    - RTP_HDR_LEN
    - PUBINST_FININIT
    - close
    - open
    - snprintf
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_server
    signature: 'struct rtpp_server *

      rtpp_server_ctor(struct rtpp_server_ctor_args *ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_server_fin
      Src: /src/rtpproxy/src/rtpp_server.c:146,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_server.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rp
    argTypes:
    - struct rtpp_server_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: rtpp_server_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - close
    - rtpp_server_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_server_dtor(struct rtpp_server_priv *rp)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_server.c:159,1
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/src/rtpp_server.c:209,1
    - Dst: RTP_HDR_LEN
      Src: /src/rtpproxy/src/rtpp_server.c:214,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_server.c:216,1
    - Dst: lseek
      Src: /src/rtpproxy/src/rtpp_server.c:217,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_server.c:218,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_server.c:220,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_server.c:227,1
    - Dst: ntohl
      Src: /src/rtpproxy/src/rtpp_server.c:233,1
    - Dst: htonl
      Src: /src/rtpproxy/src/rtpp_server.c:234,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_server.c:235,1
    - Dst: ntohs
      Src: /src/rtpproxy/src/rtpp_server.c:235,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 3
    argNames:
    - self
    - dtime
    - rval
    argTypes:
    - struct rtpp_server*
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 239
    functionName: rtpp_server_get
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - RTP_HDR_LEN
    - memcpy
    - RTPP_OBJ_DECREF
    - lseek
    - ntohs
    - ntohl
    - read
    - htons
    - PUB2PVT
    - rtp_packet_alloc
    - htonl
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtpp_server_get(struct rtpp_server *self, double dtime, int *rval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_server.c:246,1
    - Dst: ntohl
      Src: /src/rtpproxy/src/rtpp_server.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: rtpp_server_get_ssrc
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - ntohl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rtpp_server_get_ssrc(struct rtpp_server *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_server.c:255,1
    - Dst: htonl
      Src: /src/rtpproxy/src/rtpp_server.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - ssrc
    argTypes:
    - struct rtpp_server*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: rtpp_server_set_ssrc
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - htonl
    linkageType: ''
    returnType: void
    signature: void rtpp_server_set_ssrc(struct rtpp_server *self, uint32_t ssrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_server.c:264,1
    - Dst: ntohs
      Src: /src/rtpproxy/src/rtpp_server.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: rtpp_server_get_seq
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - ntohs
    - PUB2PVT
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rtpp_server_get_seq(struct rtpp_server *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_server.c:273,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_server.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - seq
    argTypes:
    - struct rtpp_server*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: rtpp_server_set_seq
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - htons
    linkageType: ''
    returnType: void
    signature: void rtpp_server_set_seq(struct rtpp_server *self, uint16_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_server.c:282,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_server.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - self
    - dtime
    argTypes:
    - struct rtpp_server*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: rtpp_server_start
    functionSourceFile: /src/rtpproxy/src/rtpp_server.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_server_start(struct rtpp_server *self, double dtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: NOT
    functionSourceFile: /src/rtpproxy/src/rtpp_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - exitcode
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: err
    functionSourceFile: /src/rtpproxy/src/rtpp_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: err(exitcode, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - exitcode
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: errx
    functionSourceFile: /src/rtpproxy/src/rtpp_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errx(exitcode, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: warn
    functionSourceFile: /src/rtpproxy/src/rtpp_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: warn(format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: warnx
    functionSourceFile: /src/rtpproxy/src/rtpp_util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: warnx(format, args...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_pcache.c:40,1
    - Dst: rtpp_hash_table_ctor
      Src: /src/rtpproxy/src/rtpp_pcache.c:46,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_pcache.c:48,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_pcache.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((void *)fp == (void *)pub)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_pcache.c
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: rtpp_pcache_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_pcache.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - assert
    - rtpp_hash_table_ctor
    linkageType: ''
    returnType: struct rtpp_pcache
    signature: 'struct rtpp_pcache *

      rtpp_pcache_ctor(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_pcache.c:68,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_pcache.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - self
    - fname
    argTypes:
    - struct rtpp_pcache*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: rtpp_pcache_open
    functionSourceFile: /src/rtpproxy/src/rtpp_pcache.c
    functionUses: 0
    functionsReached:
    - rtpp_zmalloc
    - CALL_METHOD
    linkageType: ''
    returnType: struct rtpp_pcache_fd
    signature: 'struct rtpp_pcache_fd *

      rtpp_pcache_open(struct rtpp_pcache *self, const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_pcache.c:81,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_pcache.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - p_fd
    argTypes:
    - struct rtpp_pcache*
    - struct rtpp_pcache_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: rtpp_pcache_close
    functionSourceFile: /src/rtpproxy/src/rtpp_pcache.c
    functionUses: 0
    functionsReached:
    - free
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_pcache_close(struct rtpp_pcache *self, struct rtpp_pcache_fd
      *p_fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_pcache.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - self
    - p_fd
    - buf
    - len
    argTypes:
    - struct rtpp_pcache*
    - struct rtpp_pcache_fd*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: rtpp_pcache_read
    functionSourceFile: /src/rtpproxy/src/rtpp_pcache.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int rtpp_pcache_read(struct rtpp_pcache *self, struct rtpp_pcache_fd
      *p_fd, void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_pcache.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_pcache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: rtpp_pcache_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_pcache.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtpp_pcache_dtor(struct rtpp_pcache *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:52,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:54,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:55,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:57,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:59,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:60,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refcnt.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_refcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: _GET_ARG_3
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _GET_ARG_3(_1, _2, _3, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: _RC_CHOOSE
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RC_CHOOSE(NAME, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - method
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: _RC_REF_1
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RC_REF_1(rp, method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - method
    - ','
    - harg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: _RC_REF_2
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RC_REF_2(rp, method, harg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: RC_INCREF
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RC_INCREF(rp, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: RC_DECREF
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RC_DECREF(rp, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - gf
    - ','
    - app
    - ','
    - call_id
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: rtpp_log_open
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_open(gf, app, call_id, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: rtpp_log_setlevel
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_setlevel(handle, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - level
    - ','
    - handle
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: rtpp_log_write
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_write(level, handle, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - handle
    - ','
    - format
    - ','
    - va
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: rtpp_log_write_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_write_va(level, handle, format, va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - handle
    - ','
    - level
    - ','
    - fname
    - ','
    - lnum
    - ','
    - format
    - ','
    - va
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: _rtpp_log_write_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _rtpp_log_write_va(handle, level, fname, lnum, format, va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - level
    - ','
    - handle
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: rtpp_log_ewrite
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_ewrite(level, handle, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - handle
    - ','
    - format
    - ','
    - va
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: rtpp_log_ewrite_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_ewrite_va(level, handle, format, va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - handle
    - ','
    - level
    - ','
    - fname
    - ','
    - lnum
    - ','
    - format
    - ','
    - va
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: _rtpp_log_ewrite_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _rtpp_log_ewrite_va(handle, level, fname, lnum, format, va)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: rtpp_log_close
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_close(handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - lvl
    - ','
    - ld
    - ','
    - format
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: rtpp_log_write
    functionSourceFile: /src/rtpproxy/src/rtpp_log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_write(lvl, ld, format, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: SSRC_IS_BAD
    functionSourceFile: /src/rtpproxy/src/rtpp_ssrc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSRC_IS_BAD(sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_log_obj.c:76,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_log_obj.c:76,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_log_obj.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - app
    - call_id
    - flags
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: rtpp_log_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_log
    signature: 'struct rtpp_log *

      rtpp_log_ctor(const char *app, const char *call_id, int flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_log_fin
      Src: /src/rtpproxy/src/rtpp_log_obj.c:97,1
    - Dst: rtpp_log_close
      Src: /src/rtpproxy/src/rtpp_log_obj.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_log_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: rtpp_log_obj_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - rtpp_log_fin
    - rtpp_log_close
    linkageType: ''
    returnType: void
    signature: void rtpp_log_obj_dtor(struct rtpp_log_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:107,1
    - Dst: rtpp_log_setlevel
      Src: /src/rtpproxy/src/rtpp_log_obj.c:109,1
    - Dst: rtpp_log_setlevel
      Src: /src/rtpproxy/src/rtpp_log_obj.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - self
    - log_level
    argTypes:
    - struct rtpp_log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: rtpp_log_obj_setlevel
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - rtpp_log_setlevel
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_log_obj_setlevel(struct rtpp_log *self, int log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - log_level
    argTypes:
    - struct rtpp_log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: rtpp_log_obj_setlevel_early
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_log_obj_setlevel_early(struct rtpp_log *self, int log_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:131,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_log_obj.c:132,1
    - Dst: _rtpp_log_write_va
      Src: /src/rtpproxy/src/rtpp_log_obj.c:133,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_log_obj.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - self
    - fname
    - lnum
    - level
    - fmt
    argTypes:
    - struct rtpp_log*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: rtpp_log_obj_write
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - PUB2PVT
    - _rtpp_log_write_va
    linkageType: ''
    returnType: void
    signature: "void rtpp_log_obj_write(struct rtpp_log *self, const char *fname,
      int lnum,\n  int level, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:145,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_log_obj.c:146,1
    - Dst: _rtpp_log_ewrite_va
      Src: /src/rtpproxy/src/rtpp_log_obj.c:147,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_log_obj.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - self
    - fname
    - lnum
    - level
    - fmt
    argTypes:
    - struct rtpp_log*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: rtpp_log_obj_ewrite
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - _rtpp_log_ewrite_va
    - va_end
    - va_start
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: "void rtpp_log_obj_ewrite(struct rtpp_log *self, const char *fname,
      int lnum,\n  int level, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:159,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_obj.c:162,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_log_obj.c:163,1
    - Dst: vfprintf
      Src: /src/rtpproxy/src/rtpp_log_obj.c:164,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_log_obj.c:165,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_obj.c:166,1
    - Dst: fflush
      Src: /src/rtpproxy/src/rtpp_log_obj.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - self
    - fname
    - lnum
    - level
    - fmt
    argTypes:
    - struct rtpp_log*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: rtpp_log_obj_write_early
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - fprintf
    - va_start
    - fflush
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void rtpp_log_obj_write_early(struct rtpp_log *self, const char *fname,
      int lnum,\n  int level, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:178,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_obj.c:181,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_log_obj.c:182,1
    - Dst: vfprintf
      Src: /src/rtpproxy/src/rtpp_log_obj.c:183,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_log_obj.c:184,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_obj.c:185,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_log_obj.c:185,1
    - Dst: fflush
      Src: /src/rtpproxy/src/rtpp_log_obj.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - self
    - fname
    - lnum
    - level
    - fmt
    argTypes:
    - struct rtpp_log*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: rtpp_log_obj_ewrite_early
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - fprintf
    - va_start
    - strerror
    - fflush
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void rtpp_log_obj_ewrite_early(struct rtpp_log *self, const char *fname,
      int lnum,\n  int level, const char *fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_log_obj.c:195,1
    - Dst: rtpp_log_open
      Src: /src/rtpproxy/src/rtpp_log_obj.c:197,1
    - Dst: rtpp_log_setlevel
      Src: /src/rtpproxy/src/rtpp_log_obj.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - self
    - cfs
    argTypes:
    - struct rtpp_log*
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: rtpp_log_obj_start
    functionSourceFile: /src/rtpproxy/src/rtpp_log_obj.c
    functionUses: 0
    functionsReached:
    - rtpp_log_setlevel
    - rtpp_log_open
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_log_obj_start(struct rtpp_log *self, const struct rtpp_cfg
      *cfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct rtpp_wi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: taint
    functionSourceFile: /src/rtpproxy/src/rtpp_objck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void taint(struct rtpp_wi *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:122,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:125,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:129,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_objck.c:133,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_objck.c:137,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_objck.c:141,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_objck.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - dtime
    - argp
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: update_derived_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_objck.c
    functionUses: 0
    functionsReached:
    - abort
    - rtpp_queue_put_item
    - atomic_store
    - CALL_SMETHOD
    linkageType: ''
    returnType: enum rtpp_timed_cb_rvals
    signature: enum rtpp_timed_cb_rvals update_derived_stats(double dtime, void *argp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_objck.c:167,1
    - Dst: rtpp_wi_get_type
      Src: /src/rtpproxy/src/rtpp_objck.c:168,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_objck.c:172,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:173,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:176,1
    - Dst: rtpp_wi_sgnl_get_data
      Src: /src/rtpproxy/src/rtpp_objck.c:181,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:182,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:183,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_objck.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts:
    - condition: (wi_id > wi_id_prev)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - condition: (dtl == sizeof(*tplp))
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - condition: (tplp->cp == MLQ)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/rtpproxy/src/rtpp_objck.c
    constantsTouched: []
    func_position:
      end: 186
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 186
    functionName: worker_run
    functionSourceFile: /src/rtpproxy/src/rtpp_objck.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_get_type
    - atomic_store
    - RTPP_OBJ_DECREF
    - assert
    - rtpp_queue_get_item
    - rtpp_wi_data_get_ptr
    - rtpp_wi_sgnl_get_data
    linkageType: ''
    returnType: void
    signature: void worker_run(void *argp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_items
      Src: /src/rtpproxy/src/rtpp_objck.c:203,1
    - Dst: rtpp_wi_get_type
      Src: /src/rtpproxy/src/rtpp_objck.c:206,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_objck.c:210,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:211,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts:
    - condition: (wi_id > wi_id_prev)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/rtpproxy/src/rtpp_objck.c
    constantsTouched: []
    func_position:
      end: 218
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 218
    functionName: worker_run_b2b_batch
    functionSourceFile: /src/rtpproxy/src/rtpp_objck.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_get_type
    - rtpp_queue_put_item
    - rtpp_queue_get_items
    - assert
    - rtpp_wi_data_get_ptr
    linkageType: ''
    returnType: void
    signature: void worker_run_b2b_batch(void *argp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - trp
    - ','
    - trn
    - ','
    - pls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: RPRINT
    functionSourceFile: /src/rtpproxy/src/rtpp_objck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPRINT(trp, trn, pls)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_objck.c:242,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_objck.c:243,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_objck.c:244,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_objck.c:245,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_objck.c:246,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_objck.c:247,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_objck.c:248,1
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_objck.c:252,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:254,1
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/src/rtpp_objck.c:259,1
    - Dst: rtpp_memdeb_selftest
      Src: /src/rtpproxy/src/rtpp_objck.c:260,1
    - Dst: errx
      Src: /src/rtpproxy/src/rtpp_objck.c:261,1
    - Dst: rtpp_timed_ctor
      Src: /src/rtpproxy/src/rtpp_objck.c:266,1
    - Dst: rtpp_stats_ctor
      Src: /src/rtpproxy/src/rtpp_objck.c:267,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_objck.c:268,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_objck.c:269,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_objck.c:272,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:274,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_objck.c:275,1
    - Dst: err
      Src: /src/rtpproxy/src/rtpp_objck.c:276,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:280,1
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_objck.c:282,1
    - Dst: typeof
      Src: /src/rtpproxy/src/rtpp_objck.c:284,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:286,1
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_objck.c:289,1
    - Dst: pthread_yield
      Src: /src/rtpproxy/src/rtpp_objck.c:291,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_objck.c:293,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_objck.c:295,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_objck.c:299,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:300,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:301,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:302,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_objck.c:303,1
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_objck.c:304,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_objck.c:305,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:306,1
    - Dst: RPRINT
      Src: /src/rtpproxy/src/rtpp_objck.c:309,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:312,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_objck.c:313,1
    - Dst: err
      Src: /src/rtpproxy/src/rtpp_objck.c:314,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:318,1
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_objck.c:320,1
    - Dst: typeof
      Src: /src/rtpproxy/src/rtpp_objck.c:322,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:324,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_objck.c:330,1
    - Dst: rtpp_wi_data_get_ptr
      Src: /src/rtpproxy/src/rtpp_objck.c:334,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:336,1
    - Dst: typeof
      Src: /src/rtpproxy/src/rtpp_objck.c:338,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:341,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:344,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:345,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:346,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_objck.c:347,1
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_objck.c:348,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_objck.c:349,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:350,1
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_objck.c:352,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_objck.c:353,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:354,1
    - Dst: RPRINT
      Src: /src/rtpproxy/src/rtpp_objck.c:356,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:359,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:360,1
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_objck.c:362,1
    - Dst: taint
      Src: /src/rtpproxy/src/rtpp_objck.c:363,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:364,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_objck.c:366,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:367,1
    - Dst: RPRINT
      Src: /src/rtpproxy/src/rtpp_objck.c:368,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:369,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:370,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:373,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:374,1
    - Dst: rtpp_wi_malloc_data
      Src: /src/rtpproxy/src/rtpp_objck.c:377,1
    - Dst: taint
      Src: /src/rtpproxy/src/rtpp_objck.c:378,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:379,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_objck.c:381,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:382,1
    - Dst: RPRINT
      Src: /src/rtpproxy/src/rtpp_objck.c:383,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:384,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:385,1
    - Dst: rtpp_netaddr_ctor
      Src: /src/rtpproxy/src/rtpp_objck.c:389,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:390,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_objck.c:390,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:392,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:393,1
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/src/rtpp_objck.c:395,1
    - Dst: rtpp_wi_malloc_pkt_na
      Src: /src/rtpproxy/src/rtpp_objck.c:396,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:397,1
    - Dst: taint
      Src: /src/rtpproxy/src/rtpp_objck.c:398,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:399,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_objck.c:401,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_objck.c:402,1
    - Dst: RPRINT
      Src: /src/rtpproxy/src/rtpp_objck.c:403,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:404,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:405,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:406,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:408,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_objck.c:409,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_objck.c:410,1
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_objck.c:411,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:412,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_objck.c:413,1
    - Dst: rtpp_wi_malloc_udata
      Src: /src/rtpproxy/src/rtpp_objck.c:414,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_objck.c:415,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_objck.c:416,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:418,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_objck.c:419,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_objck.c:422,1
    - Dst: exit
      Src: /src/rtpproxy/src/rtpp_objck.c:425,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 147
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (_wi_id > wi_id_prev)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - condition: (tsize >= sizeof(int64_t))
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - condition: (wi != NULL)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - condition: (answer == 42)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - condition: (tpl.cp == MLQ)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/rtpproxy/src/rtpp_objck.c
    constantsTouched: []
    func_position:
      end: 426
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 426
    functionName: main
    functionSourceFile: /src/rtpproxy/src/rtpp_objck.c
    functionUses: 0
    functionsReached:
    - getdtime
    - rtpp_stats_ctor
    - rtpp_queue_destroy
    - atomic_load
    - rtpp_queue_put_item
    - sstosa
    - RTPP_OBJ_DECREF
    - typeof
    - assert
    - rtpp_wi_malloc_pkt_na
    - CALL_METHOD
    - rtpp_netaddr_ctor
    - RPRINT
    - rtpp_wi_malloc_data
    - pthread_yield
    - CALL_SMETHOD
    - pthread_create
    - atomic_init
    - exit
    - rtpp_memdeb_selftest
    - errx
    - rtpp_timed_ctor
    - rtpp_wi_malloc_sgnl
    - RTPP_MEMDEB_APP_INIT
    - taint
    - rtpp_queue_init
    - memset
    - rtp_packet_alloc
    - atoi
    - rtpp_wi_malloc_udata
    - rtpp_queue_get_length
    - err
    - pthread_join
    - rtpp_queue_get_item
    - rtpp_memdeb_dumpstats
    - rtpp_wi_data_get_ptr
    - sched_yield
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_analyzer.h:49,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_analyzer.h:50,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_analyzer.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_analyzer.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_analyzer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - fmt
    - ','
    - mlp
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: CODEPTR_FMT
    functionSourceFile: /src/rtpproxy/src/rtpp_codeptr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CODEPTR_FMT(fmt, mlp, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l1p
    - ','
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: HT_GET
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_GET(l1p, hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l1p
    - ','
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: HT_GETREF
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_GETREF(l1p, hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ht_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: rtpp_hash_table_l1_sizeof
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rtpp_hash_table_l1_sizeof(size_t ht_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:154,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_hash_table.c:154,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:158,1
    - Dst: rtpp_hash_table_l1_sizeof
      Src: /src/rtpproxy/src/rtpp_hash_table.c:158,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_hash_table.c:162,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_hash_table.c:168,1
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_hash_table.c:168,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:169,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:172,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - key_type
    - flags
    argTypes:
    - enum rtpp_ht_key_types
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: rtpp_hash_table_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 5
    functionsReached:
    - free
    - rtpp_zmalloc
    - random
    - pthread_mutex_init
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    - rtpp_hash_table_l1_sizeof
    linkageType: ''
    returnType: struct rtpp_hash_table
    signature: 'struct rtpp_hash_table *

      rtpp_hash_table_ctor(enum rtpp_ht_key_types key_type, int flags)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_hash_table_fin
      Src: /src/rtpproxy/src/rtpp_hash_table.c:185,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:193,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:195,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_hash_table.c:200,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:201,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_hash_table_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 204
    functionName: hash_table_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_hash_table_fin
    - pthread_mutex_destroy
    - RC_DECREF
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void hash_table_dtor(struct rtpp_hash_table_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/rtpproxy/src/rtpp_hash_table.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pvt
    - key
    - ksize
    argTypes:
    - struct rtpp_hash_table_priv*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: rtpp_ht_hashkey
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rtpp_ht_hashkey(struct rtpp_hash_table_priv *pvt, const void
      *key, size_t ksize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_hash_table.c:218,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_hash_table.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pvt
    - key
    argTypes:
    - struct rtpp_hash_table_priv*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: rtpp_ht_get_keysize
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - abort
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t rtpp_ht_get_keysize(struct rtpp_hash_table_priv *pvt, const
      void *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_hash_table.c:241,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_hash_table.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pvt
    - sp
    - key
    - ksize
    argTypes:
    - struct rtpp_hash_table_priv*
    - struct rtpp_hash_table_entry*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: rtpp_ht_cmpkey
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - abort
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int rtpp_ht_cmpkey(struct rtpp_hash_table_priv *pvt,\n  struct rtpp_hash_table_entry
      *sp, const void *key, size_t ksize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_hash_table.c:266,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_hash_table.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pvt
    - sp1
    - sp2
    argTypes:
    - struct rtpp_hash_table_priv*
    - struct rtpp_hash_table_entry*
    - struct rtpp_hash_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 280
    functionName: rtpp_ht_cmpkey2
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - abort
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int rtpp_ht_cmpkey2(struct rtpp_hash_table_priv *pvt,\n  struct rtpp_hash_table_entry
      *sp1, struct rtpp_hash_table_entry *sp2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l1p
    argTypes:
    - struct rtpp_hash_table_l1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: hash_table_on_coll
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_table_on_coll(struct rtpp_hash_table_l1 *l1p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l1p
    argTypes:
    - struct rtpp_hash_table_l1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: hash_table_before_insert
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_table_before_insert(struct rtpp_hash_table_l1 *l1p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - l1p
    argTypes:
    - struct rtpp_hash_table_l1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: hash_table_after_insert
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hash_table_after_insert(struct rtpp_hash_table_l1 *l1p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hash_table_before_insert
      Src: /src/rtpproxy/src/rtpp_hash_table.c:315,1
    - Dst: HT_GETREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:316,1
    - Dst: hash_table_on_coll
      Src: /src/rtpproxy/src/rtpp_hash_table.c:321,1
    - Dst: rtpp_ht_cmpkey2
      Src: /src/rtpproxy/src/rtpp_hash_table.c:328,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_hash_table.c:333,1
    - Dst: hash_table_after_insert
      Src: /src/rtpproxy/src/rtpp_hash_table.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pvt
    - l1p
    - sp
    argTypes:
    - struct rtpp_hash_table_priv*
    - struct rtpp_hash_table_l1*
    - struct rtpp_hash_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 343
    functionName: hash_table_insert_locked
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - rtpp_ht_cmpkey2
    - hash_table_after_insert
    - hash_table_on_coll
    - hash_table_before_insert
    - abort
    - HT_GETREF
    linkageType: ''
    returnType: int
    signature: "int hash_table_insert_locked(struct rtpp_hash_table_priv *pvt,\n  struct
      rtpp_hash_table_l1 *l1p, struct rtpp_hash_table_entry *sp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:350,1
    - Dst: hash_table_insert_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:351,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:352,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:353,1
    - Dst: hash_table_resize_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:357,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pvt
    - sp
    - hosp
    argTypes:
    - struct rtpp_hash_table_priv*
    - struct rtpp_hash_table_entry*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: hash_table_insert
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - free
    - hash_table_resize_locked
    - pthread_mutex_unlock
    - hash_table_insert_locked
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_hash_table_entry
    signature: "struct rtpp_hash_table_entry *\nhash_table_insert(struct rtpp_hash_table_priv
      *pvt, struct rtpp_hash_table_entry *sp,\n  struct rtpp_ht_opstats *hosp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:373,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:379,1
    - Dst: rtpp_ht_hashkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:386,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_hash_table.c:392,1
    - Dst: hash_table_insert
      Src: /src/rtpproxy/src/rtpp_hash_table.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - self
    - key
    - klen
    - sptr
    - htype
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - void*
    - size_t
    - void*
    - enum rtpp_hte_types
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 410
    functionName: hash_table_append_raw
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - rtpp_zmalloc
    - rtpp_ht_hashkey
    - memcpy
    - hash_table_insert
    - PUB2PVT
    linkageType: ''
    returnType: struct rtpp_hash_table_entry
    signature: "struct rtpp_hash_table_entry *\nhash_table_append_raw(struct rtpp_hash_table
      *self, const void *key,\n  size_t klen, void *sptr, enum rtpp_hte_types htype,\n
      \ struct rtpp_ht_opstats *hosp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:419,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:420,1
    - Dst: rtpp_ht_get_keysize
      Src: /src/rtpproxy/src/rtpp_hash_table.c:421,1
    - Dst: hash_table_append_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:422,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - self
    - key
    - rptr
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - void*
    - struct rtpp_refcnt*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 428
    functionName: hash_table_append_refcnt
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - rtpp_ht_get_keysize
    - RC_INCREF
    - RC_DECREF
    - PUB2PVT
    - hash_table_append_raw
    linkageType: ''
    returnType: struct rtpp_hash_table_entry
    signature: "struct rtpp_hash_table_entry *\nhash_table_append_refcnt(struct rtpp_hash_table
      *self, const void *key,\n  struct rtpp_refcnt *rptr, struct rtpp_ht_opstats
      *hosp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:436,1
    - Dst: hash_table_append_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:437,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - self
    - key
    - rptr
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - rtpp_str_t*
    - struct rtpp_refcnt*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 430
    functionDepth: 4
    functionLinenumber: 430
    functionLinenumberEnd: 443
    functionName: hash_table_append_str_refcnt
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - RC_DECREF
    - RC_INCREF
    - hash_table_append_raw
    linkageType: ''
    returnType: struct rtpp_hash_table_entry
    signature: "struct rtpp_hash_table_entry *\nhash_table_append_str_refcnt(struct
      rtpp_hash_table *self, const rtpp_str_t *key,\n  struct rtpp_refcnt *rptr, struct
      rtpp_ht_opstats *hosp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:457,1
    - Dst: HT_GET
      Src: /src/rtpproxy/src/rtpp_hash_table.c:457,1
    - Dst: HT_GETREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - pvt
    - sp
    - hash
    - hosp
    argTypes:
    - struct rtpp_hash_table_priv*
    - struct rtpp_hash_table_entry*
    - uint64_t
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 466
    functionName: hash_table_remove_locked
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - HT_GET
    - RTPP_DBG_ASSERT
    - HT_GETREF
    linkageType: ''
    returnType: void
    signature: "void hash_table_remove_locked(struct rtpp_hash_table_priv *pvt,\n
      \ struct rtpp_hash_table_entry *sp, uint64_t hash, struct rtpp_ht_opstats *hosp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_ht_hashkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:474,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:475,1
    - Dst: hash_table_remove_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:476,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:477,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:479,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pvt
    - key
    - klen
    - sp
    argTypes:
    - struct rtpp_hash_table_priv*
    - void*
    - size_t
    - struct rtpp_hash_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 482
    functionName: hash_table_remove_raw
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_ht_hashkey
    - hash_table_remove_locked
    - RC_DECREF
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void hash_table_remove_raw(struct rtpp_hash_table_priv *pvt, const
      void *key,\n  size_t klen, struct rtpp_hash_table_entry *sp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:491,1
    - Dst: rtpp_ht_get_keysize
      Src: /src/rtpproxy/src/rtpp_hash_table.c:492,1
    - Dst: hash_table_remove_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - self
    - key
    - sp
    argTypes:
    - struct rtpp_hash_table*
    - void*
    - struct rtpp_hash_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 494
    functionName: hash_table_remove
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - hash_table_remove_raw
    - PUB2PVT
    - rtpp_ht_get_keysize
    linkageType: ''
    returnType: void
    signature: "void hash_table_remove(struct rtpp_hash_table *self, const void *key,\n
      \ struct rtpp_hash_table_entry *sp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:502,1
    - Dst: hash_table_remove_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - self
    - key
    - sp
    argTypes:
    - struct rtpp_hash_table*
    - rtpp_str_t*
    - struct rtpp_hash_table_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: hash_table_remove_str
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - hash_table_remove_raw
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: "void hash_table_remove_str(struct rtpp_hash_table *self, const rtpp_str_t
      *key,\n  struct rtpp_hash_table_entry *sp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_ht_get_keysize
      Src: /src/rtpproxy/src/rtpp_hash_table.c:514,1
    - Dst: rtpp_ht_hashkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:515,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:516,1
    - Dst: HT_GET
      Src: /src/rtpproxy/src/rtpp_hash_table.c:517,1
    - Dst: rtpp_ht_cmpkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:520,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:525,1
    - Dst: hash_table_remove_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:528,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:529,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pvt
    - key
    - hosp
    argTypes:
    - struct rtpp_hash_table_priv*
    - void*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 531
    functionName: hash_table_remove_by_key_raw
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - rtpp_ht_get_keysize
    - HT_GET
    - rtpp_ht_hashkey
    - hash_table_remove_locked
    - rtpp_ht_cmpkey
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_hash_table_entry
    signature: "struct rtpp_hash_table_entry *\nhash_table_remove_by_key_raw(struct
      rtpp_hash_table_priv *pvt, const void *key,\n  struct rtpp_ht_opstats *hosp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:541,1
    - Dst: hash_table_remove_by_key_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:542,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:547,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - self
    - key
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - void*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: hash_table_remove_by_key
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - free
    - PUB2PVT
    - RC_DECREF
    - hash_table_remove_by_key_raw
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: "struct rtpp_refcnt *\nhash_table_remove_by_key(struct rtpp_hash_table
      *self, const void *key,\n  struct rtpp_ht_opstats *hosp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:561,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:562,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:564,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:565,1
    - Dst: hash_table_remove_by_key_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:567,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:574,1
    - Dst: hash_table_insert
      Src: /src/rtpproxy/src/rtpp_hash_table.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - self
    - key
    - other
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - void*
    - struct rtpp_hash_table*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 577
    functionName: hash_table_transfer
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - RC_INCREF
    - hash_table_remove_by_key_raw
    - hash_table_insert
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: "struct rtpp_refcnt *\nhash_table_transfer(struct rtpp_hash_table *self,
      const void *key,\n  struct rtpp_hash_table *other, struct rtpp_ht_opstats *hosp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_ht_hashkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:586,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:587,1
    - Dst: HT_GET
      Src: /src/rtpproxy/src/rtpp_hash_table.c:588,1
    - Dst: rtpp_ht_cmpkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:591,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:596,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:598,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pvt
    - key
    - klen
    argTypes:
    - struct rtpp_hash_table_priv*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: hash_table_find_raw
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - HT_GET
    - RC_INCREF
    - rtpp_ht_hashkey
    - rtpp_ht_cmpkey
    - pthread_mutex_unlock
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: 'struct rtpp_refcnt *

      hash_table_find_raw(struct rtpp_hash_table_priv *pvt, const void *key, size_t
      klen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:612,1
    - Dst: rtpp_ht_get_keysize
      Src: /src/rtpproxy/src/rtpp_hash_table.c:613,1
    - Dst: hash_table_find_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - struct rtpp_hash_table*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 615
    functionName: hash_table_find
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - hash_table_find_raw
    - PUB2PVT
    - rtpp_ht_get_keysize
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: 'struct rtpp_refcnt *

      hash_table_find(struct rtpp_hash_table *self, const void *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:622,1
    - Dst: hash_table_find_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - struct rtpp_hash_table*
    - rtpp_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: hash_table_find_str
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - hash_table_find_raw
    - PUB2PVT
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: 'struct rtpp_refcnt *

      hash_table_find_str(struct rtpp_hash_table *self, const rtpp_str_t *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: VDTE_MVAL
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VDTE_MVAL(m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:637,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:638,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:640,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:645,1
    - Dst: hte_ematch_rc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:648,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:649,1
    - Dst: VDTE_MVAL
      Src: /src/rtpproxy/src/rtpp_hash_table.c:649,1
    - Dst: hash_table_remove_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:651,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:652,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:653,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - self
    - hte_ematch_rc
    - marg
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - rtpp_hash_table_match_rc_t
    - void*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 662
    functionName: hash_table_foreach_rc
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - free
    - hash_table_remove_locked
    - RC_DECREF
    - hte_ematch_rc
    - pthread_mutex_unlock
    - VDTE_MVAL
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void hash_table_foreach_rc(struct rtpp_hash_table *self,\n  rtpp_hash_table_match_rc_t
      hte_ematch_rc, void *marg, struct rtpp_ht_opstats *hosp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_hash_table.c:673,1
    - Dst: struct rc2norc_args*::hte_ematch
      Src: /src/rtpproxy/src/rtpp_hash_table.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rptr
    - marg
    argTypes:
    - struct rtpp_refcnt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: ematch_rc2norc
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    - struct rc2norc_args*::hte_ematch
    linkageType: ''
    returnType: int
    signature: int ematch_rc2norc(struct rtpp_refcnt *rptr, void *marg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_table_foreach_rc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - self
    - hte_ematch
    - marg
    - hosp
    argTypes:
    - struct rtpp_hash_table*
    - rtpp_hash_table_match_t
    - void*
    - struct rtpp_ht_opstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 683
    functionName: hash_table_foreach
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - hash_table_foreach_rc
    linkageType: ''
    returnType: void
    signature: "void hash_table_foreach(struct rtpp_hash_table *self,\n  rtpp_hash_table_match_t
      hte_ematch, void *marg, struct rtpp_ht_opstats *hosp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_ht_hashkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:694,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:695,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:697,1
    - Dst: HT_GET
      Src: /src/rtpproxy/src/rtpp_hash_table.c:700,1
    - Dst: rtpp_ht_cmpkey
      Src: /src/rtpproxy/src/rtpp_hash_table.c:704,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:707,1
    - Dst: hte_ematch
      Src: /src/rtpproxy/src/rtpp_hash_table.c:709,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_hash_table.c:709,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:710,1
    - Dst: VDTE_MVAL
      Src: /src/rtpproxy/src/rtpp_hash_table.c:710,1
    - Dst: hash_table_remove_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:712,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:713,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:714,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - pvt
    - key
    - klen
    - hte_ematch
    - marg
    argTypes:
    - struct rtpp_hash_table_priv*
    - void*
    - size_t
    - rtpp_hash_table_match_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 721
    functionName: hash_table_foreach_key_raw
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - free
    - HT_GET
    - hte_ematch
    - rtpp_ht_hashkey
    - hash_table_remove_locked
    - rtpp_ht_cmpkey
    - RC_DECREF
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - VDTE_MVAL
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void hash_table_foreach_key_raw(struct rtpp_hash_table_priv *pvt,
      const void *key,\n  size_t klen, rtpp_hash_table_match_t hte_ematch, void *marg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:730,1
    - Dst: rtpp_ht_get_keysize
      Src: /src/rtpproxy/src/rtpp_hash_table.c:731,1
    - Dst: hash_table_foreach_key_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - self
    - key
    - hte_ematch
    - marg
    argTypes:
    - struct rtpp_hash_table*
    - void*
    - rtpp_hash_table_match_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 733
    functionName: hash_table_foreach_key
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - rtpp_ht_get_keysize
    - hash_table_foreach_key_raw
    linkageType: ''
    returnType: void
    signature: "void hash_table_foreach_key(struct rtpp_hash_table *self, const void
      *key,\n  rtpp_hash_table_match_t hte_ematch, void *marg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:741,1
    - Dst: hash_table_foreach_key_raw
      Src: /src/rtpproxy/src/rtpp_hash_table.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - self
    - key
    - hte_ematch
    - marg
    argTypes:
    - struct rtpp_hash_table*
    - rtpp_str_t*
    - rtpp_hash_table_match_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: hash_table_foreach_key_str
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - hash_table_foreach_key_raw
    linkageType: ''
    returnType: void
    signature: "void hash_table_foreach_key_str(struct rtpp_hash_table *self, const
      rtpp_str_t *key,\n  rtpp_hash_table_match_t hte_ematch, void *marg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:751,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:752,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_hash_table.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_hash_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 757
    functionName: hash_table_get_length
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int hash_table_get_length(struct rtpp_hash_table *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:770,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rptr
    - ap
    argTypes:
    - struct rtpp_refcnt*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: hash_table_purge_f
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - RC_INCREF
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int hash_table_purge_f(struct rtpp_refcnt *rptr, void *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_table_foreach_rc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:784,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_hash_table.c:785,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_hash_table.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_hash_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 776
    functionDepth: 3
    functionLinenumber: 776
    functionLinenumberEnd: 792
    functionName: hash_table_purge
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 0
    functionsReached:
    - RC_DECREF
    - hash_table_foreach_rc
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int hash_table_purge(struct rtpp_hash_table *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_hash_table.c:800,1
    - Dst: rtpp_hash_table_l1_sizeof
      Src: /src/rtpproxy/src/rtpp_hash_table.c:800,1
    - Dst: hash_table_insert_locked
      Src: /src/rtpproxy/src/rtpp_hash_table.c:809,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_hash_table.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pvt
    - ht_len
    argTypes:
    - struct rtpp_hash_table_priv*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 815
    functionName: hash_table_resize_locked
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.c
    functionUses: 1
    functionsReached:
    - hash_table_insert_locked
    - rtpp_zmalloc
    - rtpp_hash_table_l1_sizeof
    - free
    linkageType: ''
    returnType: int
    signature: int hash_table_resize_locked(struct rtpp_hash_table_priv *pvt, size_t
      ht_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:118,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:119,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:120,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:121,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:122,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:123,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:124,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:125,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:126,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:127,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:128,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:129,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:130,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:131,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:132,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:133,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:134,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:135,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:136,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:137,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:138,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:139,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:140,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:141,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:142,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:143,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:144,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:145,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:146,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_stream.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 148
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_stream.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_util.c:66,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_util.c:68,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:69,1
    - Dst: gettimeofday
      Src: /src/rtpproxy/src/rtpp_util.c:74,1
    - Dst: srandom
      Src: /src/rtpproxy/src/rtpp_util.c:75,1
    - Dst: getpid
      Src: /src/rtpproxy/src/rtpp_util.c:75,1
    - Dst: srandom
      Src: /src/rtpproxy/src/rtpp_util.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: seedrandom
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - srandom
    - gettimeofday
    - close
    - open
    - getpid
    - read
    linkageType: ''
    returnType: void
    signature: void seedrandom(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/rtpproxy/src/rtpp_util.c:86,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_util.c:87,1
    - Dst: setrlimit
      Src: /src/rtpproxy/src/rtpp_util.c:92,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_util.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: set_rlimits
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - setrlimit
    - RTPP_ELOG
    - getrlimit
    linkageType: ''
    returnType: int
    signature: int set_rlimits(const struct rtpp_cfg *cfsp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setgid
      Src: /src/rtpproxy/src/rtpp_util.c:104,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_util.c:105,1
    - Dst: setuid
      Src: /src/rtpproxy/src/rtpp_util.c:112,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_util.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: drop_privileges
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - RTPP_ELOG
    - setgid
    - setuid
    linkageType: ''
    returnType: int
    signature: int drop_privileges(const struct rtpp_cfg *cfsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: rtpp_strsep
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rtpp_strsep(char **stringp, const char *delim)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_util.c:160,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_util.c:162,1
    - Dst: rtpp_gcov_flush
      Src: /src/rtpproxy/src/rtpp_util.c:166,1
    - Dst: _exit
      Src: /src/rtpproxy/src/rtpp_util.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - rp
    argTypes:
    - struct rtpp_daemon_rope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: rtpp_daemon_parent
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached:
    - rtpp_gcov_flush
    - memcmp
    - _exit
    - read
    linkageType: ''
    returnType: void
    signature: void rtpp_daemon_parent(const struct rtpp_daemon_rope *rp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_util.c:177,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rp
    argTypes:
    - struct rtpp_daemon_rope*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: rtpp_daemon_rel_parent
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - close
    - write
    linkageType: ''
    returnType: int
    signature: int rtpp_daemon_rel_parent(const struct rtpp_daemon_rope *rp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_util.c:210,1
    - Dst: pipe
      Src: /src/rtpproxy/src/rtpp_util.c:214,1
    - Dst: sigemptyset
      Src: /src/rtpproxy/src/rtpp_util.c:218,1
    - Dst: sigaction
      Src: /src/rtpproxy/src/rtpp_util.c:221,1
    - Dst: fork
      Src: /src/rtpproxy/src/rtpp_util.c:223,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:227,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:231,1
    - Dst: rtpp_daemon_parent
      Src: /src/rtpproxy/src/rtpp_util.c:233,1
    - Dst: setsid
      Src: /src/rtpproxy/src/rtpp_util.c:237,1
    - Dst: sigaction
      Src: /src/rtpproxy/src/rtpp_util.c:240,1
    - Dst: chdir
      Src: /src/rtpproxy/src/rtpp_util.c:248,1
    - Dst: dup2
      Src: /src/rtpproxy/src/rtpp_util.c:252,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:253,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:256,1
    - Dst: dup2
      Src: /src/rtpproxy/src/rtpp_util.c:260,1
    - Dst: dup2
      Src: /src/rtpproxy/src/rtpp_util.c:263,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:271,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:274,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:275,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:278,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 3
    argNames:
    - nochdir
    - noclose
    - noredir
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 281
    functionName: rtpp_daemon
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - sigemptyset
    - pipe
    - rtpp_daemon_parent
    - fork
    - close
    - open
    - sigaction
    - dup2
    - chdir
    - setsid
    linkageType: ''
    returnType: struct rtpp_daemon_rope
    signature: struct rtpp_daemon_rope rtpp_daemon(int nochdir, int noclose, int noredir)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - ibuf
    - obuf
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 327
    functionName: url_unquote2
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int url_unquote2(const char *ibuf, char *obuf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: url_unquote2
      Src: /src/rtpproxy/src/rtpp_util.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: url_unquote
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached:
    - url_unquote2
    linkageType: ''
    returnType: int
    signature: int url_unquote(unsigned char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - ibuf
    - obuf
    - ilen
    - olen
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 361
    functionName: url_quote
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int url_quote(const char *ibuf, char *obuf, int ilen, int olen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/rtpproxy/src/rtpp_util.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - s
    - res
    - sep
    - next
    argTypes:
    - char*
    - int*
    - char
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: atoi_safe_sep
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: enum atoi_rval
    signature: enum atoi_rval atoi_safe_sep(const char *s, int *res, char sep, const
      char * *next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atoi_safe_sep
      Src: /src/rtpproxy/src/rtpp_util.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: atoi_safe
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 2
    functionsReached:
    - atoi_safe_sep
    linkageType: ''
    returnType: enum atoi_rval
    signature: enum atoi_rval atoi_safe(const char *s, int *res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/rtpp_util.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - s
    - res
    - min
    - max
    argTypes:
    - char*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 400
    functionName: atoi_saferange
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 3
    functionsReached:
    - atoi_safe
    linkageType: ''
    returnType: enum atoi_rval
    signature: enum atoi_rval atoi_saferange(const char *s, int *res, int min, int
      max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/rtpp_util.c:408,1
    - Dst: atoi_safe_sep
      Src: /src/rtpproxy/src/rtpp_util.c:412,1
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/rtpp_util.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - s
    - rtp_val
    - rtcp_val
    - minval
    argTypes:
    - char*
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 422
    functionName: rtpp_parse_rtp_rtcp_val
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - atoi_safe_sep
    - atoi_safe
    linkageType: ''
    returnType: enum atoi_rval
    signature: enum atoi_rval rtpp_parse_rtp_rtcp_val(const char *s, int *rtp_val,
      int *rtcp_val, int minval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/rtpproxy/src/rtpp_util.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - s
    - res
    - min
    - max
    - next
    argTypes:
    - char*
    - long*
    - long
    - long
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 447
    functionName: strtol_saferange
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: enum atoi_rval
    signature: "enum atoi_rval strtol_saferange(const char *s, long *res, long min,
      long max,\n  const char **next)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_util.c:458,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_util.c:462,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_util.c:463,1
    - Dst: strtol
      Src: /src/rtpproxy/src/rtpp_util.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 476
    functionName: rtpp_get_sched_hz_linux
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - strtol
    - read
    linkageType: ''
    returnType: int
    signature: int rtpp_get_sched_hz_linux(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_get_sched_hz_linux
      Src: /src/rtpproxy/src/rtpp_util.c:485,1
    - Dst: sysconf
      Src: /src/rtpproxy/src/rtpp_util.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: rtpp_get_sched_hz
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - rtpp_get_sched_hz_linux
    - sysconf
    linkageType: ''
    returnType: int
    signature: int rtpp_get_sched_hz(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/rtpproxy/src/rtpp_util.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: rtpp_get_sched_hz
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: int
    signature: int rtpp_get_sched_hz(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 563
    functionName: strlcpy
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strlcpy(char *dst, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 568
    functionName: populate
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: populate(n, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: haszero
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: haszero(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: populate
      Src: /src/rtpproxy/src/rtpp_util.c:575,1
    - Dst: populate
      Src: /src/rtpproxy/src/rtpp_util.c:576,1
    - Dst: populate
      Src: /src/rtpproxy/src/rtpp_util.c:577,1
    - Dst: populate
      Src: /src/rtpproxy/src/rtpp_util.c:578,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_util.c:581,1
    - Dst: populate
      Src: /src/rtpproxy/src/rtpp_util.c:588,1
    - Dst: haszero
      Src: /src/rtpproxy/src/rtpp_util.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - ibuf
    - mbuf
    - dlen
    - blen
    argTypes:
    - char*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 599
    functionName: rtpp_strsplit
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 0
    functionsReached:
    - haszero
    - populate
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_strsplit(char *ibuf, char *mbuf, size_t dlen, size_t blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/rtpproxy/src/rtpp_util.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: generate_random_string
    functionSourceFile: /src/rtpproxy/src/rtpp_util.c
    functionUses: 1
    functionsReached:
    - random
    linkageType: ''
    returnType: void
    signature: void generate_random_string(char *buffer, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_bindargs.c:47,1
    - Dst: rtpp_str_const_i
      Src: /src/rtpproxy/src/rtpp_bindargs.c:50,1
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_bindargs.c:53,1
    - Dst: rtpp_str_const_i
      Src: /src/rtpproxy/src/rtpp_bindargs.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - bap
    - barg
    - is_v6
    argTypes:
    - struct bindarg*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: bindarg_parse
    functionSourceFile: /src/rtpproxy/src/rtpp_bindargs.c
    functionUses: 1
    functionsReached:
    - rtpp_str_const_i
    - strchr
    linkageType: ''
    returnType: void
    signature: void bindarg_parse(struct bindarg *bap, char *barg, int is_v6)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bargs
    - banum
    - v6
    argTypes:
    - struct bindarg[]
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ba_firstidx
    functionSourceFile: /src/rtpproxy/src/rtpp_bindargs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ba_firstidx(const struct bindarg bargs[], int banum, int v6)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ba_firstidx
      Src: /src/rtpproxy/src/rtpp_bindargs.c:86,1
    - Dst: ba_firstidx
      Src: /src/rtpproxy/src/rtpp_bindargs.c:87,1
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_bindargs.c:92,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:95,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:116,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:124,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:129,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:136,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:140,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_bindargs.c:146,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:150,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:162,1
    - Dst: strchr
      Src: /src/rtpproxy/src/rtpp_bindargs.c:165,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:166,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_bindargs.c:172,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindargs.c:176,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_bindargs.c:183,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 86
    argCount: 4
    argNames:
    - cfsp
    - bargs
    - banum
    - iebparams
    argTypes:
    - struct rtpp_cfg*
    - struct bindarg[]
    - int
    - struct rtpp_bindaddr_params[]
    assertStmts:
    - condition: (cfsp->bindaddr[0] != NULL && cfsp->bindaddr[0]->addr != NULL)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/rtpproxy/src/rtpp_bindargs.c
    constantsTouched: []
    func_position:
      end: 185
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 185
    functionName: init_bindaddrs
    functionSourceFile: /src/rtpproxy/src/rtpp_bindargs.c
    functionUses: 1
    functionsReached:
    - RTPP_LOG
    - assert
    - ba_firstidx
    - CALL_SMETHOD
    - strchr
    linkageType: ''
    returnType: int
    signature: "int init_bindaddrs(struct rtpp_cfg *cfsp, struct bindarg bargs[],
      int banum,\n  const struct rtpp_bindaddr_params iebparams[2])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_record.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_record.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_packetport.h:25,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_packetport.h:26,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_packetport.h:27,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_packetport.h:28,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_packetport.h:29,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_packetport.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_packetport.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_packetport_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rw_lock_fin
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:61,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:62,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_rw_lock_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: rtpp_rw_lock_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_rw_lock.c
    functionUses: 0
    functionsReached:
    - rtpp_rw_lock_fin
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_dtor(struct rtpp_rw_lock_priv *pvt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:71,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:71,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:74,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:76,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:78,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:81,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: rtpp_rw_lock_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_rw_lock.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - PUBINST_FININIT
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_rw_lock
    signature: 'struct rtpp_rw_lock *

      rtpp_rw_lock_ctor(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:93,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:94,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:98,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:102,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - self
    - mode
    argTypes:
    - struct rtpp_rw_lock*
    - enum rtpp_rw_lock_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: rtpp_rw_lock_lock
    functionSourceFile: /src/rtpproxy/src/rtpp_rw_lock.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_lock(struct rtpp_rw_lock *self, enum rtpp_rw_lock_mode
      mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:112,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:114,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:115,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:119,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - self
    - mode
    argTypes:
    - struct rtpp_rw_lock*
    - enum rtpp_rw_lock_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: rtpp_rw_lock_unlock
    functionSourceFile: /src/rtpproxy/src/rtpp_rw_lock.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_unlock(struct rtpp_rw_lock *self, enum rtpp_rw_lock_mode
      mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:131,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:132,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:134,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_rw_lock.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_rw_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: rtpp_rw_lock_upgrade
    functionSourceFile: /src/rtpproxy/src/rtpp_rw_lock.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_rw_lock_upgrade(struct rtpp_rw_lock *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:61,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:62,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:63,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:64,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:65,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:66,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:67,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:68,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_weakref.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_weakref.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_weakref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:109,1
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:110,1
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:111,1
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:112,1
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:113,1
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sobj
    - rsp
    argTypes:
    - struct rtpp_stats*
    - struct rtpp_proc_rstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: flush_rstats
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - FLUSH_STAT
    linkageType: ''
    returnType: void
    signature: void flush_rstats(struct rtpp_stats *sobj, struct rtpp_proc_rstats
      *rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:121,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:122,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:123,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:124,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:125,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sobj
    - rsp
    argTypes:
    - struct rtpp_stats*
    - struct rtpp_proc_rstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: init_rstats
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void init_rstats(struct rtpp_stats *sobj, struct rtpp_proc_rstats *rsp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_proc_async.c:150,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_async.c:157,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:158,1
    - Dst: RTPP_DBGCODE
      Src: /src/rtpproxy/src/rtpp_proc_async.c:166,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_proc_async.c:167,1
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_proc_async.c:169,1
    - Dst: rtpp_epoll_wait
      Src: /src/rtpproxy/src/rtpp_proc_async.c:171,1
    - Dst: RTPP_DBGCODE
      Src: /src/rtpproxy/src/rtpp_proc_async.c:173,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_proc_async.c:174,1
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_proc_async.c:176,1
    - Dst: rtpp_timestamp_get
      Src: /src/rtpproxy/src/rtpp_proc_async.c:185,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:186,1
    - Dst: rtpp_anetio_pick_sender
      Src: /src/rtpproxy/src/rtpp_proc_async.c:188,1
    - Dst: process_rtp_only
      Src: /src/rtpproxy/src/rtpp_proc_async.c:189,1
    - Dst: rtpp_anetio_pump_q
      Src: /src/rtpproxy/src/rtpp_proc_async.c:192,1
    - Dst: flush_rstats
      Src: /src/rtpproxy/src/rtpp_proc_async.c:193,1
    - Dst: realloc
      Src: /src/rtpproxy/src/rtpp_proc_async.c:198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 209
    functionName: rtpp_proc_async_run
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - rtpp_anetio_pump_q
    - atomic_load
    - rtpp_timestamp_get
    - PP_NAME
    - flush_rstats
    - RTPP_LOG
    - rtpp_anetio_pick_sender
    - rtpp_epoll_wait
    - process_rtp_only
    - realloc
    - CALL_SMETHOD
    - RTPP_DBGCODE
    - memset
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_async_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE(netio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBGCODE
      Src: /src/rtpproxy/src/rtpp_proc_async.c:173,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_proc_async.c:174,1
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_proc_async.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 2
    functionsReached:
    - RTPP_LOG
    - RTPP_DBGCODE
    - PP_NAME
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE(netio)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_epoll_create
      Src: /src/rtpproxy/src/rtpp_proc_async.c:219,1
    - Dst: socketpair
      Src: /src/rtpproxy/src/rtpp_proc_async.c:222,1
    - Dst: rtpp_epoll_ctl
      Src: /src/rtpproxy/src/rtpp_proc_async.c:226,1
    - Dst: init_rstats
      Src: /src/rtpproxy/src/rtpp_proc_async.c:232,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_proc_async.c:235,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_proc_async.c:239,1
    - Dst: rtpp_proc_async_setprocname
      Src: /src/rtpproxy/src/rtpp_proc_async.c:242,1
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_proc_async.c:242,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_proc_async.c:246,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_proc_async.c:248,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_proc_async.c:249,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_proc_async.c:251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - cfsp
    - proc_cf
    - tcp
    - pipe_type
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_proc_async_cf*
    - struct rtpp_proc_thread_cf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 254
    functionName: rtpp_proc_async_thread_init
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - rtpp_proc_async_setprocname
    - close
    - PP_NAME
    - init_rstats
    - pthread_create
    - socketpair
    - rtpp_epoll_create
    - rtpp_epoll_ctl
    linkageType: ''
    returnType: int
    signature: "int rtpp_proc_async_thread_init(const struct rtpp_cfg *cfsp, const
      struct rtpp_proc_async_cf *proc_cf,\n  struct rtpp_proc_thread_cf *tcp, int
      pipe_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_proc_async.c:259,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_proc_async.c:261,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_proc_async.c:262,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_proc_async.c:263,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_proc_async.c:264,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_proc_async.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tcp
    argTypes:
    - struct rtpp_proc_thread_cf*
    assertStmts:
    - condition: (tstate == TSTATE_RUN)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/rtpproxy/src/rtpp_proc_async.c
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: rtpp_proc_async_thread_destroy
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - free
    - atomic_load
    - atomic_store
    - close
    - pthread_join
    - assert
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_async_thread_destroy(struct rtpp_proc_thread_cf *tcp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:275,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:284,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:287,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:289,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 299
    functionName: relay_packet
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act relay_packet(const struct pkt_proc_ctx *pktxp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:308,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: record_packet
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act record_packet(const struct pkt_proc_ctx *pktxp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_proc_async.c:320,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_proc_async.c:320,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:324,1
    - Dst: rtpp_netio_async_init
      Src: /src/rtpproxy/src/rtpp_proc_async.c:328,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:332,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:342,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:351,1
    - Dst: rtpp_proc_async_thread_init
      Src: /src/rtpproxy/src/rtpp_proc_async.c:354,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:357,1
    - Dst: rtpp_proc_async_thread_init
      Src: /src/rtpproxy/src/rtpp_proc_async.c:359,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:362,1
    - Dst: rtpp_proc_wakeup_ctor
      Src: /src/rtpproxy/src/rtpp_proc_async.c:364,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:368,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:370,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:371,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_proc_async.c:373,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:378,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:380,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_async.c:382,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 384
    functionName: rtpp_proc_async_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 1
    functionsReached:
    - rtpp_proc_async_thread_init
    - RTPP_OBJ_DECREF
    - rtpp_proc_wakeup_ctor
    - RTPP_OBJ_DTOR_ATTACH_s
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - RTPP_OBJ_BORROW_s
    - rtpp_rzmalloc
    - rtpp_netio_async_init
    linkageType: ''
    returnType: struct rtpp_proc_async
    signature: 'struct rtpp_proc_async *

      rtpp_proc_async_ctor(const struct rtpp_cfg *cfsp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:389,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - proc_cf
    argTypes:
    - struct rtpp_proc_async_cf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: rtpp_proc_async_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_async_dtor(struct rtpp_proc_async_cf *proc_cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_proc_async.c:399,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_async.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_proc_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: rtpp_proc_async_nudge
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_async.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int rtpp_proc_async_nudge(struct rtpp_proc_async *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: rtpp_acct_OSIZE
    functionSourceFile: /src/rtpproxy/src/rtpp_acct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_acct_OSIZE()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:118,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:121,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:125,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:128,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:129,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:130,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:144,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:148,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 153
    functionName: process_rtp_servers_foreach
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: int process_rtp_servers_foreach(void *dp, void *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_anetio_pick_sender
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:161,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:167,1
    - Dst: rtpp_anetio_pump_q
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:170,1
    - Dst: FLUSH_STAT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - dtime
    argTypes:
    - struct rtpp_proc_servers_priv*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: run_servers
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - rtpp_anetio_pick_sender
    - FLUSH_STAT
    - rtpp_anetio_pump_q
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void run_servers(struct rtpp_proc_servers_priv *tp, double dtime)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:185,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:186,1
    - Dst: dtime2mtimespec
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:192,1
    - Dst: rtpp_queue_get_item_by
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:194,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:198,1
    - Dst: run_servers
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:202,1
    - Dst: rtpp_wi_sgnl_get_signum
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:210,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:211,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:215,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:218,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - argp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 225
    functionName: rtpp_proc_servers_run
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - getdtime
    - run_servers
    - rtpp_queue_get_item_by
    - dtime2mtimespec
    - rtpp_wi_sgnl_get_signum
    - RTPP_OBJ_DECREF
    - rtpp_queue_get_item
    - CALL_SMETHOD
    - abort
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_run(void *argp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_proc_servers_fin
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:231,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:232,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:233,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stap
    argTypes:
    - struct rtpp_proc_servers_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: rtpp_proc_servers_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_put_item
    - rtpp_proc_servers_fin
    - pthread_join
    - rtpp_queue_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_dtor(struct rtpp_proc_servers_priv *stap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:242,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:242,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:245,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:249,1
    - Dst: rtpp_weakref_ctor
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:253,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:257,1
    - Dst: rtpp_weakref_ctor
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:258,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:262,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:267,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:269,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:274,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:277,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:280,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:282,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - cfsp
    - netio
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_anetio_cf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 287
    functionName: rtpp_proc_servers_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 1
    functionsReached:
    - pthread_setname_np
    - rtpp_queue_destroy
    - rtpp_queue_init
    - PUBINST_FININIT
    - rtpp_weakref_ctor
    - rtpp_wi_malloc_sgnl
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - pthread_create
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_proc_servers
    signature: 'struct rtpp_proc_servers *

      rtpp_proc_servers_ctor(const struct rtpp_cfg *cfsp, struct rtpp_anetio_cf *netio)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:295,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:298,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:301,1
    - Dst: rtpp_queue_wakeup
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - self
    - rsrv
    - inact
    argTypes:
    - struct rtpp_proc_servers*
    - struct rtpp_server*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: rtpp_proc_servers_reg
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - rtpp_queue_wakeup
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_proc_servers_reg(struct rtpp_proc_servers *self,\n  struct
      rtpp_server *rsrv, int inact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:315,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:316,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:317,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:321,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:322,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:323,1
    - Dst: rtpp_queue_wakeup
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - self
    - sruid
    - dtime
    argTypes:
    - struct rtpp_proc_servers*
    - uint64_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: rtpp_proc_servers_plr_start
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    - rtpp_queue_wakeup
    - CALL_SMETHOD
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int rtpp_proc_servers_plr_start(struct rtpp_proc_servers *self, uint64_t
      sruid, double dtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:334,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:335,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:337,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_proc_servers.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - self
    - sruid
    argTypes:
    - struct rtpp_proc_servers*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: rtpp_proc_servers_unreg
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int rtpp_proc_servers_unreg(struct rtpp_proc_servers *self, uint64_t
      sruid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: RTP_PKT_COPYOFF
    functionSourceFile: /src/rtpproxy/src/rtp_packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_PKT_COPYOFF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:80,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:81,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:82,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:83,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:84,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:85,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:86,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:87,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:88,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:89,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:90,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:91,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_hash_table.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_hash_table.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_hash_table)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_log_stand.c:89,1
    - Dst: syslog_async_init
      Src: /src/rtpproxy/src/rtpp_log_stand.c:90,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/rtpp_log_stand.c:91,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_log_stand.c:97,1
    - Dst: getenv
      Src: /src/rtpproxy/src/rtpp_log_stand.c:101,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:102,1
    - Dst: getenv
      Src: /src/rtpproxy/src/rtpp_log_stand.c:103,1
    - Dst: strtod
      Src: /src/rtpproxy/src/rtpp_log_stand.c:105,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_log_stand.c:108,1
    - Dst: strdup
      Src: /src/rtpproxy/src/rtpp_log_stand.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - cf
    - app
    - call_id
    argTypes:
    - struct rtpp_cfg*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 131
    functionName: _rtpp_log_open
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached:
    - getdtime
    - rtpp_zmalloc
    - atomic_load
    - atomic_store
    - strdup
    - syslog_async_init
    - strtod
    - strcmp
    - getenv
    linkageType: ''
    returnType: struct rtpp_log_inst
    signature: 'struct rtpp_log_inst *

      _rtpp_log_open(const struct rtpp_cfg *cf, const char *app, const char *call_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_log_stand.c:137,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_log_stand.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rli
    argTypes:
    - struct rtpp_log_inst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: _rtpp_log_close
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _rtpp_log_close(struct rtpp_log_inst *rli)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_log_stand.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 170
    functionName: strlvl
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      strlvl(int level)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:176,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:179,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:182,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:185,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - strl
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: rtpp_log_str2lvl
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int rtpp_log_str2lvl(const char *strl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rli
    - level
    argTypes:
    - struct rtpp_log_inst*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: check_level
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_level(struct rtpp_log_inst *rli, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rli
    - level
    argTypes:
    - struct rtpp_log_inst*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: rtpp_log_setlevel
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtpp_log_setlevel(struct rtpp_log_inst *rli, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:215,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - rli
    - ltime
    - buf
    - buflen
    argTypes:
    - struct rtpp_log_inst*
    - double
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 225
    functionName: ftime
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached:
    - modf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void ftime(struct rtpp_log_inst *rli, double ltime, char *buf, int
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_log_stand.c:232,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_log_stand.c:234,1
    - Dst: usleep
      Src: /src/rtpproxy/src/rtpp_log_stand.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: _rtpp_log_lock
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - atomic_fetch_add_explicit
    - usleep
    linkageType: ''
    returnType: void
    signature: void _rtpp_log_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_log_stand.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: _rtpp_log_unlock
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: void
    signature: void _rtpp_log_unlock(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_level
      Src: /src/rtpproxy/src/rtpp_log_stand.c:259,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_log_stand.c:269,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:270,1
    - Dst: strlvl
      Src: /src/rtpproxy/src/rtpp_log_stand.c:271,1
    - Dst: va_copy
      Src: /src/rtpproxy/src/rtpp_log_stand.c:272,1
    - Dst: vsyslog_async
      Src: /src/rtpproxy/src/rtpp_log_stand.c:273,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_log_stand.c:274,1
    - Dst: ftime
      Src: /src/rtpproxy/src/rtpp_log_stand.c:280,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_log_stand.c:280,1
    - Dst: _rtpp_log_lock
      Src: /src/rtpproxy/src/rtpp_log_stand.c:281,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:282,1
    - Dst: strlvl
      Src: /src/rtpproxy/src/rtpp_log_stand.c:282,1
    - Dst: vfprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:284,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:285,1
    - Dst: fflush
      Src: /src/rtpproxy/src/rtpp_log_stand.c:286,1
    - Dst: _rtpp_log_unlock
      Src: /src/rtpproxy/src/rtpp_log_stand.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - rli
    - level
    - function
    - lnum
    - format
    - ap
    argTypes:
    - struct rtpp_log_inst*
    - int
    - char*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 288
    functionName: _rtpp_log_write_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 1
    functionsReached:
    - check_level
    - va_end
    - getdtime
    - fflush
    - atomic_load
    - fprintf
    - strlvl
    - snprintf
    - ftime
    - va_copy
    - _rtpp_log_unlock
    - _rtpp_log_lock
    - vsyslog_async
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void _rtpp_log_write_va(struct rtpp_log_inst *rli, int level, const
      char *function,\n  int lnum, const char *format, va_list ap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_level
      Src: /src/rtpproxy/src/rtpp_log_stand.c:302,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_log_stand.c:312,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:316,1
    - Dst: strlvl
      Src: /src/rtpproxy/src/rtpp_log_stand.c:317,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:322,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_log_stand.c:323,1
    - Dst: va_copy
      Src: /src/rtpproxy/src/rtpp_log_stand.c:325,1
    - Dst: vsyslog_async
      Src: /src/rtpproxy/src/rtpp_log_stand.c:326,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_log_stand.c:327,1
    - Dst: ftime
      Src: /src/rtpproxy/src/rtpp_log_stand.c:333,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_log_stand.c:333,1
    - Dst: _rtpp_log_lock
      Src: /src/rtpproxy/src/rtpp_log_stand.c:334,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:335,1
    - Dst: strlvl
      Src: /src/rtpproxy/src/rtpp_log_stand.c:335,1
    - Dst: vfprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:337,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_log_stand.c:338,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_log_stand.c:338,1
    - Dst: fflush
      Src: /src/rtpproxy/src/rtpp_log_stand.c:339,1
    - Dst: _rtpp_log_unlock
      Src: /src/rtpproxy/src/rtpp_log_stand.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 6
    argNames:
    - rli
    - level
    - function
    - lnum
    - format
    - ap
    argTypes:
    - struct rtpp_log_inst*
    - int
    - char*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 341
    functionName: _rtpp_log_ewrite_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 1
    functionsReached:
    - check_level
    - va_end
    - getdtime
    - fflush
    - atomic_load
    - fprintf
    - strerror
    - strlvl
    - snprintf
    - ftime
    - va_copy
    - _rtpp_log_unlock
    - _rtpp_log_lock
    - vsyslog_async
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void _rtpp_log_ewrite_va(struct rtpp_log_inst *rli, int level, const
      char *function,\n  int lnum, const char *format, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:378,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/src/rtpp_log_stand.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 383
    functionName: rtpp_log_str2fac
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int rtpp_log_str2fac(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cf
    - ','
    - app
    - ','
    - call_id
    - ','
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: rtpp_log_open
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_open(cf, app, call_id, flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - handle
    - ','
    - format
    - ','
    - vargs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: rtpp_log_write_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_write_va(level, handle, format, vargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - level
    - ','
    - handle
    - ','
    - format
    - ','
    - vargs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: rtpp_log_ewrite_va
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_ewrite_va(level, handle, format, vargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: rtpp_log_close
    functionSourceFile: /src/rtpproxy/src/rtpp_log_stand.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_log_close(handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - circ_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: circ_buf_isempty
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int circ_buf_isempty(const circ_buf_t *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - c
    - data
    argTypes:
    - circ_buf_t*
    - struct rtpp_wi*
    assertStmts:
    - condition: (c->buffer[c->head] == NULL)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/rtpproxy/src/rtpp_queue.c
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: circ_buf_push
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int circ_buf_push(circ_buf_t *c, struct rtpp_wi *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_queue.c:94,1
    - Dst: circ_buf_isempty
      Src: /src/rtpproxy/src/rtpp_queue.c:95,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_queue.c:109,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_queue.c:111,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:120,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - c
    - data
    - howmany
    argTypes:
    - circ_buf_t*
    - struct rtpp_wi*[]
    - unsigned int
    assertStmts:
    - condition: (rval <= howmany)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - condition: (c->tail < c->buflen)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/rtpproxy/src/rtpp_queue.c
    constantsTouched: []
    func_position:
      end: 125
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 125
    functionName: circ_buf_popmany
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - circ_buf_isempty
    - memcpy
    - assert
    - memset
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int circ_buf_popmany(circ_buf_t *c, struct rtpp_wi *data[],
      unsigned int howmany)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: circ_buf_isempty
      Src: /src/rtpproxy/src/rtpp_queue.c:132,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:147,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - c
    - offset
    - data
    argTypes:
    - circ_buf_t*
    - unsigned int
    - struct rtpp_wi**
    assertStmts:
    - condition: (c->buffer[itmidx] != NULL)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - condition: (itmidx < c->buflen)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/rtpproxy/src/rtpp_queue.c
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: circ_buf_peek
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - circ_buf_isempty
    - assert
    linkageType: ''
    returnType: int
    signature: int circ_buf_peek(const circ_buf_t *c, unsigned int offset, struct
      rtpp_wi **data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: circ_buf_isempty
      Src: /src/rtpproxy/src/rtpp_queue.c:161,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:176,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:177,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - c
    - offset
    - data
    argTypes:
    - circ_buf_t*
    - unsigned int
    - struct rtpp_wi**
    assertStmts:
    - condition: (tdata != NULL)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - condition: (c->buffer[itmidx] != NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - condition: (itmidx < c->buflen)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/rtpproxy/src/rtpp_queue.c
    constantsTouched: []
    func_position:
      end: 186
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 186
    functionName: circ_buf_replace
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - circ_buf_isempty
    - assert
    linkageType: ''
    returnType: int
    signature: int circ_buf_replace(circ_buf_t *c, unsigned int offset, struct rtpp_wi
      **data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: circ_buf_isempty
      Src: /src/rtpproxy/src/rtpp_queue.c:194,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:206,1
    - Dst: circ_buf_peek
      Src: /src/rtpproxy/src/rtpp_queue.c:206,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:207,1
    - Dst: circ_buf_replace
      Src: /src/rtpproxy/src/rtpp_queue.c:207,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - c
    - offset
    argTypes:
    - circ_buf_t*
    - unsigned int
    assertStmts:
    - condition: (circ_buf_replace(c, offset, &data) == 0)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - condition: (circ_buf_peek(c, offset - 1, &data) == 0)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - condition: (c->buffer[c->tail] != NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/rtpproxy/src/rtpp_queue.c
    constantsTouched: []
    func_position:
      end: 217
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 217
    functionName: circ_buf_remove
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - circ_buf_replace
    - circ_buf_peek
    - circ_buf_isempty
    - assert
    linkageType: ''
    returnType: int
    signature: int circ_buf_remove(circ_buf_t *c, unsigned int offset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_queue.c:242,1
    - Dst: pthread_condattr_init
      Src: /src/rtpproxy/src/rtpp_queue.c:247,1
    - Dst: pthread_condattr_setclock
      Src: /src/rtpproxy/src/rtpp_queue.c:250,1
    - Dst: pthread_cond_init
      Src: /src/rtpproxy/src/rtpp_queue.c:253,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_queue.c:256,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_queue.c:259,1
    - Dst: vsnprintf
      Src: /src/rtpproxy/src/rtpp_queue.c:260,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_queue.c:261,1
    - Dst: pthread_condattr_destroy
      Src: /src/rtpproxy/src/rtpp_queue.c:268,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_queue.c:271,1
    - Dst: pthread_cond_destroy
      Src: /src/rtpproxy/src/rtpp_queue.c:273,1
    - Dst: pthread_condattr_destroy
      Src: /src/rtpproxy/src/rtpp_queue.c:275,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_queue.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - cb_capacity
    - fmt
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 280
    functionName: rtpp_queue_init
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 6
    functionsReached:
    - free
    - rtpp_zmalloc
    - pthread_condattr_init
    - pthread_mutex_init
    - pthread_condattr_destroy
    - va_start
    - pthread_mutex_destroy
    - pthread_cond_destroy
    - pthread_cond_init
    - vsnprintf
    - va_end
    - pthread_condattr_setclock
    linkageType: ''
    returnType: struct rtpp_queue
    signature: 'struct rtpp_queue *

      rtpp_queue_init(unsigned int cb_capacity, const char *fmt, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:286,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - new_mlen
    argTypes:
    - struct rtpp_queue*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: rtpp_queue_setmaxlen
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_setmaxlen(struct rtpp_queue *queue, unsigned int new_mlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_queue.c:296,1
    - Dst: rtpp_queue_get_item
      Src: /src/rtpproxy/src/rtpp_queue.c:298,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_queue.c:299,1
    - Dst: pthread_cond_destroy
      Src: /src/rtpproxy/src/rtpp_queue.c:301,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_queue.c:302,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_queue.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct rtpp_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: rtpp_queue_destroy
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 9
    functionsReached:
    - free
    - rtpp_queue_get_length
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    - pthread_cond_destroy
    - rtpp_queue_get_item
    linkageType: ''
    returnType: void
    signature: void rtpp_queue_destroy(struct rtpp_queue *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct rtpp_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: rtpp_queue_getclen
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_getclen(const struct rtpp_queue *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: circ_buf_popmany
      Src: /src/rtpproxy/src/rtpp_queue.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - queue
    - items
    - ilen
    argTypes:
    - struct rtpp_queue*
    - struct rtpp_wi**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 343
    functionName: rtpp_queue_extract_items
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - circ_buf_popmany
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_extract_items(struct rtpp_queue *queue, struct rtpp_wi
      **items, int ilen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:350,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - queue
    - qlen
    argTypes:
    - struct rtpp_queue*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: rtpp_queue_setqlen
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rtpp_queue_setqlen(struct rtpp_queue *queue, unsigned
      int qlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:362,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:367,1
    - Dst: circ_buf_push
      Src: /src/rtpproxy/src/rtpp_queue.c:371,1
    - Dst: RTPPQ_APPEND
      Src: /src/rtpproxy/src/rtpp_queue.c:372,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_queue.c:375,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:379,1
    - Dst: pthread_cond_signal
      Src: /src/rtpproxy/src/rtpp_queue.c:381,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:385,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - wi
    - queue
    argTypes:
    - struct rtpp_wi*
    - struct rtpp_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 387
    functionName: rtpp_queue_put_item
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 16
    functionsReached:
    - circ_buf_push
    - RTPPQ_APPEND
    - fprintf
    - rtpp_queue_getclen
    - pthread_mutex_unlock
    - pthread_cond_signal
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_put_item(struct rtpp_wi *wi, struct rtpp_queue *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:393,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:394,1
    - Dst: pthread_cond_signal
      Src: /src/rtpproxy/src/rtpp_queue.c:396,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct rtpp_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: rtpp_queue_pump
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - rtpp_queue_getclen
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_queue_pump(struct rtpp_queue *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:406,1
    - Dst: pthread_cond_signal
      Src: /src/rtpproxy/src/rtpp_queue.c:408,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct rtpp_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: rtpp_queue_wakeup
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 2
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_queue_wakeup(struct rtpp_queue *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_items_by
      Src: /src/rtpproxy/src/rtpp_queue.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - queue
    - deadline
    - rval
    argTypes:
    - struct rtpp_queue*
    - struct timespec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: rtpp_queue_get_item_by
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 1
    functionsReached:
    - rtpp_queue_get_items_by
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_queue_get_item_by(struct rtpp_queue *queue, struct timespec *deadline,
      int *rval)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_items
      Src: /src/rtpproxy/src/rtpp_queue.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - return_on_wake
    argTypes:
    - struct rtpp_queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: rtpp_queue_get_item
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 10
    functionsReached:
    - rtpp_queue_get_items
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_queue_get_item(struct rtpp_queue *queue, int return_on_wake)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:439,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:440,1
    - Dst: pthread_cond_wait
      Src: /src/rtpproxy/src/rtpp_queue.c:441,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:442,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:443,1
    - Dst: rtpp_queue_extract_items
      Src: /src/rtpproxy/src/rtpp_queue.c:447,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - queue
    - items
    - ilen
    - return_on_wake
    argTypes:
    - struct rtpp_queue*
    - struct rtpp_wi**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 450
    functionName: rtpp_queue_get_items
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 4
    functionsReached:
    - pthread_cond_wait
    - rtpp_queue_getclen
    - pthread_mutex_unlock
    - rtpp_queue_extract_items
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_get_items(struct rtpp_queue *queue, struct rtpp_wi **items,
      int ilen, int return_on_wake)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:458,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:459,1
    - Dst: pthread_cond_timedwait
      Src: /src/rtpproxy/src/rtpp_queue.c:460,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:461,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:465,1
    - Dst: rtpp_queue_extract_items
      Src: /src/rtpproxy/src/rtpp_queue.c:468,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - queue
    - items
    - ilen
    - deadline
    - rval
    argTypes:
    - struct rtpp_queue*
    - struct rtpp_wi**
    - int
    - struct timespec*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: rtpp_queue_get_items_by
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 2
    functionsReached:
    - pthread_cond_timedwait
    - rtpp_queue_getclen
    - pthread_mutex_unlock
    - rtpp_queue_extract_items
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_queue_get_items_by(struct rtpp_queue *queue, struct rtpp_wi
      **items, int ilen,\n  struct timespec *deadline, int *rval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:478,1
    - Dst: rtpp_queue_getclen
      Src: /src/rtpproxy/src/rtpp_queue.c:479,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - struct rtpp_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: rtpp_queue_get_length
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 3
    functionsReached:
    - rtpp_queue_getclen
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_get_length(struct rtpp_queue *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:492,1
    - Dst: match_fn
      Src: /src/rtpproxy/src/rtpp_queue.c:494,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - queue
    - match_fn
    - fn_args
    argTypes:
    - struct rtpp_queue*
    - rtpp_queue_match_fn_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: rtpp_queue_count_matching
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 0
    functionsReached:
    - match_fn
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_queue_count_matching(struct rtpp_queue *queue, rtpp_queue_match_fn_t
      match_fn, void *fn_args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_queue.c:509,1
    - Dst: circ_buf_peek
      Src: /src/rtpproxy/src/rtpp_queue.c:511,1
    - Dst: match_fn
      Src: /src/rtpproxy/src/rtpp_queue.c:513,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_queue.c:514,1
    - Dst: circ_buf_remove
      Src: /src/rtpproxy/src/rtpp_queue.c:514,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:515,1
    - Dst: match_fn
      Src: /src/rtpproxy/src/rtpp_queue.c:521,1
    - Dst: RTPPQ_REMOVE_AFTER
      Src: /src/rtpproxy/src/rtpp_queue.c:522,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:523,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_queue.c:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - queue
    - match_fn
    - fn_args
    argTypes:
    - struct rtpp_queue*
    - rtpp_queue_match_fn_t
    - void*
    assertStmts:
    - condition: (circ_buf_remove(&queue->circb, i) == 0)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/rtpproxy/src/rtpp_queue.c
    constantsTouched: []
    func_position:
      end: 529
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 529
    functionName: rtpp_queue_get_first_matching
    functionSourceFile: /src/rtpproxy/src/rtpp_queue.c
    functionUses: 2
    functionsReached:
    - RTPPQ_REMOVE_AFTER
    - assert
    - pthread_mutex_unlock
    - circ_buf_peek
    - match_fn
    - circ_buf_remove
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_queue_get_first_matching(struct rtpp_queue *queue, rtpp_queue_match_fn_t
      match_fn, void *fn_args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ttl.h:40,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ttl.h:41,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ttl.h:42,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_ttl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __gcov_flush
      Src: /src/rtpproxy/src/rtpp_coverage.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: rtpp_gcov_flush
    functionSourceFile: /src/rtpproxy/src/rtpp_coverage.c
    functionUses: 1
    functionsReached:
    - __gcov_flush
    linkageType: ''
    returnType: void
    signature: void rtpp_gcov_flush(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: is_gcov_on
    functionSourceFile: /src/rtpproxy/src/rtpp_coverage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_gcov_on(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:71,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:72,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:73,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:74,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:75,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:76,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:77,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:78,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:79,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:80,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:81,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:82,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:83,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:84,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_socket.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_socket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_mallocs.c:49,1
    - Dst: posix_memalign
      Src: /src/rtpproxy/src/rtpp_mallocs.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - msize
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: rtpp_aligned_malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 0
    functionsReached:
    - posix_memalign
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_aligned_malloc(size_t msize, size_t alignment)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_aligned_malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:67,1
    - Dst: rtpp_memdeb_malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:69,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_mallocs.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - msize
    - memdeb_p
    - mlp
    argTypes:
    - size_t
    - void*
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: rtpp_zmalloc_memdeb
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 0
    functionsReached:
    - rtpp_aligned_malloc
    - memset
    - rtpp_memdeb_malloc
    linkageType: ''
    returnType: void
    signature: void rtpp_zmalloc_memdeb(size_t msize, void *memdeb_p, const struct
      rtpp_codeptr *mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - p2
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: PpP
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PpP(p1, p2, type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_mallocs.c:92,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_mallocs.c:94,1
    - Dst: rtpp_aligned_malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:98,1
    - Dst: rtpp_memdeb_malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:100,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_mallocs.c:105,1
    - Dst: rtpp_refcnt_ctor_pa
      Src: /src/rtpproxy/src/rtpp_mallocs.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - msize
    - rcntp_offs
    - memdeb_p
    - mlp
    argTypes:
    - size_t
    - size_t
    - void*
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: rtpp_rzmalloc_memdeb
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 0
    functionsReached:
    - rtpp_refcnt_ctor_pa
    - rtpp_aligned_malloc
    - rtpp_memdeb_malloc
    - memset
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void rtpp_rzmalloc_memdeb(size_t msize, size_t rcntp_offs, void *memdeb_p,\n
      \ const struct rtpp_codeptr *mlp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_mallocs.c:126,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_mallocs.c:128,1
    - Dst: rtpp_aligned_malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:132,1
    - Dst: rtpp_memdeb_malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:134,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_mallocs.c:140,1
    - Dst: rtpp_refcnt_ctor_pa
      Src: /src/rtpproxy/src/rtpp_mallocs.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - msize
    - rcntp_offs
    - memdeb_p
    - mlp
    argTypes:
    - size_t
    - size_t
    - void*
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 145
    functionName: rtpp_rmalloc_memdeb
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 1
    functionsReached:
    - rtpp_refcnt_ctor_pa
    - rtpp_aligned_malloc
    - rtpp_memdeb_malloc
    - memset
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void rtpp_rmalloc_memdeb(size_t msize, size_t rcntp_offs, void *memdeb_p,\n
      \ const struct rtpp_codeptr *mlp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_mallocs.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: rtpp_sys_malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_sys_malloc(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_mallocs.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: rtpp_sys_free
    functionSourceFile: /src/rtpproxy/src/rtpp_mallocs.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtpp_sys_free(void *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:89,1
    - Dst: pthread_cond_wait
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:91,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:95,1
    - Dst: syslog
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:100,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:111,1
    - Dst: pthread_cond_signal
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:116,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 119
    functionName: syslog_queue_run
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 0
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - syslog
    - pthread_cond_signal
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void syslog_queue_run(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:126,1
    - Dst: pthread_cond_init
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:138,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:140,1
    - Dst: pthread_cond_init
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:142,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:144,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:146,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:149,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:154,1
    - Dst: pthread_cond_destroy
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:156,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:158,1
    - Dst: pthread_cond_destroy
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 163
    functionName: syslog_queue_init
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 0
    functionsReached:
    - pthread_setname_np
    - pthread_mutex_init
    - pthread_mutex_destroy
    - pthread_cond_destroy
    - pthread_cond_init
    - pthread_create
    - memset
    linkageType: ''
    returnType: int
    signature: int syslog_queue_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:170,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:175,1
    - Dst: pthread_cond_wait
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:178,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - wait
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 188
    functionName: syslog_queue_get_free_item
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 0
    functionsReached:
    - pthread_cond_wait
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct syslog_wi
    signature: 'struct syslog_wi *

      syslog_queue_get_free_item(int wait)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:194,1
    - Dst: pthread_cond_signal
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:206,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - wi
    argTypes:
    - struct syslog_wi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 209
    functionName: syslog_queue_put_item
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void syslog_queue_put_item(struct syslog_wi *wi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syslog_queue_get_free_item
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:220,1
    - Dst: syslog_queue_put_item
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:222,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: syslog_async_atexit
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - syslog_queue_put_item
    - syslog_queue_get_free_item
    linkageType: ''
    returnType: void
    signature: void syslog_async_atexit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:230,1
    - Dst: syslog_queue_init
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:232,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:233,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:238,1
    - Dst: openlog
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:240,1
    - Dst: atexit
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - app
    - facility
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 244
    functionName: syslog_async_init
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 1
    functionsReached:
    - atexit
    - openlog
    - syslog_queue_init
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int syslog_async_init(const char *app, int facility)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syslog_queue_get_free_item
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:254,1
    - Dst: strlcpy
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:259,1
    - Dst: vsnprintf
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:267,1
    - Dst: strlcpy
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:277,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:284,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:286,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:286,1
    - Dst: syslog_queue_put_item
      Src: /src/rtpproxy/src/rtpp_syslog_async.c:289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - priority
    - pre
    - post
    - user_fmt
    - ap
    argTypes:
    - int
    - char*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 290
    functionName: vsyslog_async
    functionSourceFile: /src/rtpproxy/src/rtpp_syslog_async.c
    functionUses: 2
    functionsReached:
    - vsnprintf
    - syslog_queue_get_free_item
    - syslog_queue_put_item
    - strlcpy
    - strlen
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: "void vsyslog_async(int priority, const char *pre, const char *post,\n
      \ const char *user_fmt, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_ttl.c:64,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_ttl.c:64,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_ttl.c:68,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_ttl.c:69,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_ttl.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - max_ttl
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: rtpp_ttl_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.c
    functionUses: 0
    functionsReached:
    - PUBINST_FININIT
    - rtpp_rzmalloc
    - atomic_init
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_ttl
    signature: 'struct rtpp_ttl *

      rtpp_ttl_ctor(int max_ttl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_ttl_fin
      Src: /src/rtpproxy/src/rtpp_ttl.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_ttl_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: rtpp_ttl_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.c
    functionUses: 0
    functionsReached:
    - rtpp_ttl_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_dtor(struct rtpp_ttl_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ttl.c:90,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_ttl.c:91,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_ttl.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_ttl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: rtpp_ttl_reset
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - atomic_store_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_reset(struct rtpp_ttl *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ttl.c:100,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_ttl.c:101,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_ttl.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - max_ttl
    argTypes:
    - struct rtpp_ttl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: rtpp_ttl_reset_with
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_reset_with(struct rtpp_ttl *self, int max_ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ttl.c:111,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_ttl.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_ttl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: rtpp_ttl_get_remaining
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_ttl_get_remaining(struct rtpp_ttl *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_ttl.c:124,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_ttl.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_ttl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: rtpp_ttl_decr
    functionSourceFile: /src/rtpproxy/src/rtpp_ttl.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub_explicit
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_ttl_decr(struct rtpp_ttl *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:120,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:121,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:122,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:123,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:124,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:126,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:127,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:129,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - sobj
    - csp
    argTypes:
    - struct rtpp_stats*
    - struct rtpp_command_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: init_cstats
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void init_cstats(struct rtpp_stats *sobj, struct rtpp_command_stats
      *csp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sobj
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: FLUSH_CSTAT
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_CSTAT(sobj, st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:144,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:145,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:146,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:147,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:148,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:150,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:151,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:153,1
    - Dst: FLUSH_CSTAT
      Src: /src/rtpproxy/src/rtpp_command_async.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - sobj
    - csp
    argTypes:
    - struct rtpp_stats*
    - struct rtpp_command_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: flush_cstats
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - FLUSH_CSTAT
    linkageType: ''
    returnType: void
    signature: void flush_cstats(struct rtpp_stats *sobj, struct rtpp_command_stats
      *csp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_csock_addrlen
      Src: /src/rtpproxy/src/rtpp_command_async.c:164,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_command_async.c:165,1
    - Dst: accept
      Src: /src/rtpproxy/src/rtpp_command_async.c:166,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command_async.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cfsp
    - rcsp
    - rap
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_ctrl_sock*
    - struct sockaddr*
    assertStmts:
    - condition: (rlen > 0)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/rtpproxy/src/rtpp_command_async.c
    constantsTouched: []
    func_position:
      end: 175
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 175
    functionName: accept_connection
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - accept
    - rtpp_csock_addrlen
    - RTPP_ELOG
    - assert
    linkageType: ''
    returnType: int
    signature: "int accept_connection(const struct rtpp_cfg *cfsp, struct rtpp_ctrl_sock
      *rcsp,\n  struct sockaddr *rap)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_CTRL_ISDG
      Src: /src/rtpproxy/src/rtpp_command_async.c:186,1
    - Dst: get_command
      Src: /src/rtpproxy/src/rtpp_command_async.c:190,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command_async.c:206,1
    - Dst: flush_cstats
      Src: /src/rtpproxy/src/rtpp_command_async.c:208,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:211,1
    - Dst: handle_command
      Src: /src/rtpproxy/src/rtpp_command_async.c:213,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:215,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_async.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 7
    argNames:
    - csock
    - cfsp
    - controlfd
    - dtime
    - csp
    - rsc
    - rcp
    argTypes:
    - struct rtpp_ctrl_sock*
    - struct rtpp_cfg*
    - int
    - struct rtpp_timestamp*
    - struct rtpp_command_stats*
    - struct rtpp_stats*
    - struct rtpp_cmd_rcache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 222
    functionName: process_commands
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - get_command
    - sstosa
    - RTPP_OBJ_DECREF
    - handle_command
    - pthread_mutex_unlock
    - flush_cstats
    - RTPP_CTRL_ISDG
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int process_commands(struct rtpp_ctrl_sock *csock, const struct rtpp_cfg
      *cfsp, int controlfd,\n  const struct rtpp_timestamp *dtime, struct rtpp_command_stats
      *csp,\n  struct rtpp_stats *rsc, struct rtpp_cmd_rcache *rcp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_command_stream_doio
      Src: /src/rtpproxy/src/rtpp_command_async.c:231,1
    - Dst: rtpp_command_stream_get
      Src: /src/rtpproxy/src/rtpp_command_async.c:237,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command_async.c:250,1
    - Dst: flush_cstats
      Src: /src/rtpproxy/src/rtpp_command_async.c:252,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:255,1
    - Dst: handle_command
      Src: /src/rtpproxy/src/rtpp_command_async.c:257,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:259,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_async.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - cfsp
    - rcc
    - dtime
    - csp
    - rsc
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_cmd_connection*
    - struct rtpp_timestamp*
    - struct rtpp_command_stats*
    - struct rtpp_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 264
    functionName: process_commands_stream
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - rtpp_command_stream_get
    - sstosa
    - RTPP_OBJ_DECREF
    - handle_command
    - pthread_mutex_unlock
    - rtpp_command_stream_doio
    - flush_cstats
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int process_commands_stream(const struct rtpp_cfg *cfsp, struct rtpp_cmd_connection
      *rcc,\n  const struct rtpp_timestamp *dtime, struct rtpp_command_stats *csp,
      struct rtpp_stats *rsc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_command_async.c:272,1
    - Dst: RTPP_CTRL_ISUNIX
      Src: /src/rtpproxy/src/rtpp_command_async.c:279,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_command_async.c:280,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_command_async.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - controlfd_in
    - controlfd_out
    - csock
    - rap
    argTypes:
    - int
    - int
    - struct rtpp_ctrl_sock*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: rtpp_cmd_connection_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - RTPP_CTRL_ISUNIX
    - rtpp_zmalloc
    - memcpy
    - SA_LEN
    linkageType: ''
    returnType: struct rtpp_cmd_connection
    signature: "struct rtpp_cmd_connection *\nrtpp_cmd_connection_ctor(int controlfd_in,
      int controlfd_out,\n  struct rtpp_ctrl_sock *csock, struct sockaddr *rap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:291,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:293,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rcc
    argTypes:
    - struct rtpp_cmd_connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: rtpp_cmd_connection_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_connection_dtor(struct rtpp_cmd_connection *rcc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/rtpproxy/src/rtpp_command_async.c:322,1
    - Dst: poll
      Src: /src/rtpproxy/src/rtpp_command_async.c:324,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:326,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:328,1
    - Dst: accept_connection
      Src: /src/rtpproxy/src/rtpp_command_async.c:338,1
    - Dst: CONST
      Src: /src/rtpproxy/src/rtpp_command_async.c:338,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command_async.c:339,1
    - Dst: rtpp_command_async_wakeup
      Src: /src/rtpproxy/src/rtpp_command_async.c:343,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:348,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:351,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:352,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:354,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:355,1
    - Dst: realloc
      Src: /src/rtpproxy/src/rtpp_command_async.c:358,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:360,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:361,1
    - Dst: rtpp_cmd_connection_ctor
      Src: /src/rtpproxy/src/rtpp_command_async.c:365,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command_async.c:366,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:368,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:369,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:377,1
    - Dst: rtpp_command_async_wakeup
      Src: /src/rtpproxy/src/rtpp_command_async.c:378,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 381
    functionName: rtpp_cmd_acceptor_run
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - rtpp_command_async_wakeup
    - rtpp_cmd_connection_ctor
    - sstosa
    - close
    - poll
    - realloc
    - pthread_mutex_unlock
    - accept_connection
    - CONST
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_acceptor_run(void *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:400,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:402,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:405,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:406,1
    - Dst: poll
      Src: /src/rtpproxy/src/rtpp_command_async.c:407,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:409,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:413,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_command_async.c:421,1
    - Dst: RTPP_CTRL_ACCEPTABLE
      Src: /src/rtpproxy/src/rtpp_command_async.c:427,1
    - Dst: rtpp_timestamp_get
      Src: /src/rtpproxy/src/rtpp_command_async.c:437,1
    - Dst: RTPP_CTRL_ISSTREAM
      Src: /src/rtpproxy/src/rtpp_command_async.c:438,1
    - Dst: process_commands_stream
      Src: /src/rtpproxy/src/rtpp_command_async.c:439,1
    - Dst: CONST
      Src: /src/rtpproxy/src/rtpp_command_async.c:439,1
    - Dst: process_commands
      Src: /src/rtpproxy/src/rtpp_command_async.c:441,1
    - Dst: CONST
      Src: /src/rtpproxy/src/rtpp_command_async.c:441,1
    - Dst: RTPP_CTRL_ISDG
      Src: /src/rtpproxy/src/rtpp_command_async.c:449,1
    - Dst: RTPP_CTRL_ISSTREAM
      Src: /src/rtpproxy/src/rtpp_command_async.c:449,1
    - Dst: rtpp_cmd_connection_dtor
      Src: /src/rtpproxy/src/rtpp_command_async.c:454,1
    - Dst: memmove
      Src: /src/rtpproxy/src/rtpp_command_async.c:457,1
    - Dst: memmove
      Src: /src/rtpproxy/src/rtpp_command_async.c:459,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:466,1
    - Dst: rtpp_anetio_pump
      Src: /src/rtpproxy/src/rtpp_command_async.c:468,1
    - Dst: flush_cstats
      Src: /src/rtpproxy/src/rtpp_command_async.c:470,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 472
    functionName: rtpp_cmd_queue_run
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - rtpp_timestamp_get
    - rtpp_anetio_pump
    - flush_cstats
    - process_commands
    - memmove
    - poll
    - pthread_mutex_unlock
    - read
    - RTPP_CTRL_ACCEPTABLE
    - CONST
    - RTPP_CTRL_ISSTREAM
    - rtpp_cmd_connection_dtor
    - RTPP_CTRL_ISDG
    - process_commands_stream
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_queue_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_async.c:481,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:483,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_cmd_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 491
    functionName: rtpp_command_async_get_aload
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: double
    signature: double rtpp_command_async_get_aload(struct rtpp_cmd_async *pub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_async.c:499,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:501,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:505,1
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_command_async.c:508,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pub
    - keep_locked
    argTypes:
    - struct rtpp_cmd_async*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 515
    functionName: rtpp_command_async_wakeup
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - write
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_command_async_wakeup(struct rtpp_cmd_async *pub, int keep_locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_async.c:522,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:524,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pub
    - overload
    argTypes:
    - struct rtpp_cmd_async*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: rtpp_command_async_reg_overload
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_command_async_reg_overload(struct rtpp_cmd_async *pub, int
      overload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_async.c:535,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:537,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_cmd_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: rtpp_command_async_chk_overload
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_command_async_chk_overload(struct rtpp_cmd_async *pub)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_command_async.c:549,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_command_async.c:550,1
    - Dst: RTPP_CTRL_ACCEPTABLE
      Src: /src/rtpproxy/src/rtpp_command_async.c:551,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_command_async.c:555,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_command_async.c:559,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_command_async.c:570,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_command_async.c:571,1
    - Dst: RTPP_CTRL_ACCEPTABLE
      Src: /src/rtpproxy/src/rtpp_command_async.c:572,1
    - Dst: rtpp_cmd_connection_ctor
      Src: /src/rtpproxy/src/rtpp_command_async.c:577,1
    - Dst: rtpp_cmd_connection_dtor
      Src: /src/rtpproxy/src/rtpp_command_async.c:583,1
    - Dst: RTPP_CTRL_ISSTREAM
      Src: /src/rtpproxy/src/rtpp_command_async.c:588,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:593,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - cfsp
    - psp
    - wakefd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_cmd_pollset*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 595
    functionName: init_pollset
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_mutex_init
    - rtpp_cmd_connection_ctor
    - malloc
    - RTPP_LIST_HEAD
    - RTPP_CTRL_ACCEPTABLE
    - RTPP_CTRL_ISSTREAM
    - rtpp_cmd_connection_dtor
    - RTPP_ITER_NEXT
    linkageType: ''
    returnType: int
    signature: int init_pollset(const struct rtpp_cfg *cfsp, struct rtpp_cmd_pollset
      *psp, int wakefd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_cmd_connection_dtor
      Src: /src/rtpproxy/src/rtpp_command_async.c:603,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - psp
    argTypes:
    - struct rtpp_cmd_pollset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: free_pollset
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_cmd_connection_dtor
    linkageType: ''
    returnType: void
    signature: void free_pollset(struct rtpp_cmd_pollset *psp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_command_async.c:615,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_command_async.c:616,1
    - Dst: RTPP_CTRL_ACCEPTABLE
      Src: /src/rtpproxy/src/rtpp_command_async.c:617,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_command_async.c:625,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_command_async.c:630,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:632,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_command_async.c:635,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_command_async.c:636,1
    - Dst: RTPP_CTRL_ACCEPTABLE
      Src: /src/rtpproxy/src/rtpp_command_async.c:637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - cfsp
    - asp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_cmd_accptset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 646
    functionName: init_accptset
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - RTPP_LIST_HEAD
    - RTPP_CTRL_ACCEPTABLE
    - RTPP_ITER_NEXT
    linkageType: ''
    returnType: int
    signature: int init_accptset(const struct rtpp_cfg *cfsp, struct rtpp_cmd_accptset
      *asp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:652,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - asp
    argTypes:
    - struct rtpp_cmd_accptset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: free_accptset
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_accptset(struct rtpp_cmd_accptset *asp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_command_async.c:663,1
    - Dst: socketpair
      Src: /src/rtpproxy/src/rtpp_command_async.c:667,1
    - Dst: init_pollset
      Src: /src/rtpproxy/src/rtpp_command_async.c:670,1
    - Dst: init_accptset
      Src: /src/rtpproxy/src/rtpp_command_async.c:673,1
    - Dst: init_cstats
      Src: /src/rtpproxy/src/rtpp_command_async.c:678,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_command_async.c:680,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_command_async.c:683,1
    - Dst: rtpp_cmd_rcache_ctor
      Src: /src/rtpproxy/src/rtpp_command_async.c:684,1
    - Dst: recfilter_init
      Src: /src/rtpproxy/src/rtpp_command_async.c:691,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_command_async.c:696,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_command_async.c:702,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_command_async.c:705,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_command_async.c:710,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:721,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:723,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:725,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_command_async.c:727,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:730,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_async.c:731,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_command_async.c:733,1
    - Dst: free_accptset
      Src: /src/rtpproxy/src/rtpp_command_async.c:735,1
    - Dst: free_pollset
      Src: /src/rtpproxy/src/rtpp_command_async.c:737,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:740,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:742,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 1
    argNames:
    - cfsp
    argTypes:
    - struct rtpp_cfg*
    assertStmts:
    - condition: (cfsp->rtpp_timed_cf != NULL)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/rtpproxy/src/rtpp_command_async.c
    constantsTouched: []
    func_position:
      end: 745
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 745
    functionName: rtpp_command_async_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 1
    functionsReached:
    - pthread_setname_np
    - pthread_mutex_init
    - RTPP_OBJ_DECREF
    - pthread_mutex_destroy
    - assert
    - CALL_METHOD
    - init_accptset
    - init_cstats
    - recfilter_init
    - close
    - pthread_create
    - socketpair
    - free
    - rtpp_zmalloc
    - pthread_mutex_unlock
    - init_pollset
    - free_accptset
    - pthread_mutex_lock
    - rtpp_cmd_rcache_ctor
    - pthread_join
    - free_pollset
    linkageType: ''
    returnType: struct rtpp_cmd_async
    signature: 'struct rtpp_cmd_async *

      rtpp_command_async_ctor(struct rtpp_cfg *cfsp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_async.c:753,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_command_async.c:755,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:761,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_command_async.c:764,1
    - Dst: rtpp_command_async_wakeup
      Src: /src/rtpproxy/src/rtpp_command_async.c:766,1
    - Dst: pthread_kill
      Src: /src/rtpproxy/src/rtpp_command_async.c:767,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_command_async.c:768,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_command_async.c:770,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command_async.c:772,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_async.c:773,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_command_async.c:774,1
    - Dst: free_pollset
      Src: /src/rtpproxy/src/rtpp_command_async.c:775,1
    - Dst: free_accptset
      Src: /src/rtpproxy/src/rtpp_command_async.c:776,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_command_async.c:778,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_command_async.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_cmd_async*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 780
    functionName: rtpp_command_async_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_async.c
    functionUses: 0
    functionsReached:
    - free
    - close
    - pthread_kill
    - RTPP_OBJ_DECREF
    - pthread_mutex_destroy
    - pthread_join
    - free_accptset
    - pthread_mutex_unlock
    - free_pollset
    - PUB2PVT
    - CALL_METHOD
    - rtpp_command_async_wakeup
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_command_async_dtor(struct rtpp_cmd_async *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: RTPP_MD_STATS_ADD
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MD_STATS_ADD(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: RTPP_MD_STATS_SUB
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MD_STATS_SUB(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: RTPP_MD_STATS_CMP
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_MD_STATS_CMP(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: NO_MED_NM
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NO_MED_NM(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: OW_MED_NM
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OW_MED_NM(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: MT2RT_NZ
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MT2RT_NZ(mt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bmt
    - ','
    - emt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DRTN_NZ
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DRTN_NZ(bmt, emt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_pipe.c:93,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_pipe.c:93,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:98,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:105,1
    - Dst: rtpp_stream_ctor
      Src: /src/rtpproxy/src/rtpp_pipe.c:111,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:115,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:116,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:121,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:123,1
    - Dst: rtpp_pcount_ctor
      Src: /src/rtpproxy/src/rtpp_pipe.c:125,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:129,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:131,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:135,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:137,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_pipe.c:141,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_pipe.c:143,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:150,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_pipe.c:151,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct r_pipe_ctor_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 154
    functionName: rtpp_pipe_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached:
    - rtpp_stream_ctor
    - PUBINST_FININIT
    - rtpp_pcount_ctor
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - RTPP_OBJ_BORROW_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_pipe
    signature: 'struct rtpp_pipe *

      rtpp_pipe_ctor(const struct r_pipe_ctor_args *ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_pipe_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: rtpp_pipe_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_dtor(struct rtpp_pipe_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:171,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:172,1
    - Dst: MIN
      Src: /src/rtpproxy/src/rtpp_pipe.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: rtpp_pipe_get_ttl
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    - MIN
    linkageType: ''
    returnType: int
    signature: int rtpp_pipe_get_ttl(struct rtpp_pipe *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:179,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: rtpp_pipe_decr_ttl
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_decr_ttl(struct rtpp_pipe *self)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pipe.c:190,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:192,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:193,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:194,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:195,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:196,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:197,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:198,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_pipe.c:199,1
    - Dst: PP_NAME
      Src: /src/rtpproxy/src/rtpp_pipe.c:201,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:205,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_pipe.c:211,1
    - Dst: MT2RT_NZ
      Src: /src/rtpproxy/src/rtpp_pipe.c:212,1
    - Dst: DRTN_NZ
      Src: /src/rtpproxy/src/rtpp_pipe.c:213,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_pipe.c:217,1
    - Dst: MT2RT_NZ
      Src: /src/rtpproxy/src/rtpp_pipe.c:218,1
    - Dst: DRTN_NZ
      Src: /src/rtpproxy/src/rtpp_pipe.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - self
    - rapp
    argTypes:
    - struct rtpp_pipe*
    - struct rtpp_acct_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 223
    functionName: rtpp_pipe_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached:
    - DRTN_NZ
    - MT2RT_NZ
    - PP_NAME
    - RTPP_LOG
    - CALL_SMETHOD
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_get_stats(struct rtpp_pipe *self, struct rtpp_acct_pipe
      *rapp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pipe.c:230,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:233,1
    - Dst: NO_MED_NM
      Src: /src/rtpproxy/src/rtpp_pipe.c:233,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_pipe.c:236,1
    - Dst: OW_MED_NM
      Src: /src/rtpproxy/src/rtpp_pipe.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - self
    - rapp
    argTypes:
    - struct rtpp_pipe*
    - struct rtpp_acct_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: rtpp_pipe_upd_cntrs
    functionSourceFile: /src/rtpproxy/src/rtpp_pipe.c
    functionUses: 0
    functionsReached:
    - NO_MED_NM
    - PUB2PVT
    - OW_MED_NM
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_upd_cntrs(struct rtpp_pipe *self, struct rtpp_acct_pipe
      *rapp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_module_if_static.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: rtpp_static_modules_lookup
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if_static.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct rtpp_minfo
    signature: 'struct rtpp_minfo *

      rtpp_static_modules_lookup(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_module_if_static.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: SET_FOREACH
    functionSourceFile: /src/rtpproxy/src/rtpp_module_if_static.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void SET_FOREACH(tp, rtpp_modules)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: addr2port
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: addr2port(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: SA_LEN
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_LEN(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: SS_LEN
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SS_LEN(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - af
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: AF2STR
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF2STR(af)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: SA_AF2STR
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_AF2STR(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: satosin
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: satosin(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: satosin6
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: satosin6(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: sstosa
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sstosa(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: sstosun
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sstosun(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: satoss
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: satoss(sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: IS_VALID_PORT
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_VALID_PORT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: IS_LAST_PORT
    functionSourceFile: /src/rtpproxy/src/rtpp_network.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LAST_PORT(p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_socket_ctor
      Src: /src/rtpproxy/src/rtpp_command.c:115,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command.c:118,1
    - Dst: SA_AF2STR
      Src: /src/rtpproxy/src/rtpp_command.c:119,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_command.c:122,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_command.c:122,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_command.c:123,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_command.c:123,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:124,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command.c:124,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_command.c:124,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command.c:126,1
    - Dst: SA_AF2STR
      Src: /src/rtpproxy/src/rtpp_command.c:127,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:134,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command.c:135,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:137,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command.c:138,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:139,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:141,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - ctap
    - port
    - fdp
    argTypes:
    - struct create_listener_args*
    - unsigned int
    - struct rtpp_socket**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: create_listener
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached:
    - SA_LEN
    - RTPP_ELOG
    - sstosa
    - memcpy
    - SA_AF2STR
    - satosin
    - RTPP_OBJ_DECREF
    - htons
    - CALL_SMETHOD
    - rtpp_socket_ctor
    linkageType: ''
    returnType: enum rtpp_ptu_rval
    signature: enum rtpp_ptu_rval create_listener(struct create_listener_args *ctap,
      unsigned int port, struct rtpp_socket **fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:156,1
    - Dst: IS_VALID_PORT
      Src: /src/rtpproxy/src/rtpp_command.c:156,1
    - Dst: create_listener
      Src: /src/rtpproxy/src/rtpp_command.c:161,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:166,1
    - Dst: IS_VALID_PORT
      Src: /src/rtpproxy/src/rtpp_command.c:166,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - port
    - ap
    argTypes:
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 178
    functionName: create_twinlistener
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 0
    functionsReached:
    - IS_VALID_PORT
    - create_listener
    - RTPP_DBG_ASSERT
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: int create_twinlistener(unsigned int port, void *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_command.c:188,1
    - Dst: RTPP_PT_SELECT
      Src: /src/rtpproxy/src/rtpp_command.c:198,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - cfsp
    - ia
    - port
    - fds
    - tos
    argTypes:
    - struct rtpp_cfg*
    - struct sockaddr*
    - int*
    - struct rtpp_socket**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 201
    functionName: rtpp_create_listener
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached:
    - memset
    - RTPP_PT_SELECT
    - CALL_METHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_create_listener(const struct rtpp_cfg *cfsp, const struct
      sockaddr *ia, int *port,\n  struct rtpp_socket **fds, int tos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_command.c:210,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_command.c:210,1
    - Dst: rtpc_reply_ctor
      Src: /src/rtpproxy/src/rtpp_command.c:223,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:227,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_command.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - cfsp
    - controlfd
    - dtime
    - csp
    - umode
    argTypes:
    - struct rtpp_cfg*
    - int
    - struct rtpp_timestamp*
    - struct rtpp_command_stats*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: rtpp_command_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached:
    - rtpc_reply_ctor
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_command
    signature: "struct rtpp_command *\nrtpp_command_ctor(const struct rtpp_cfg *cfsp,
      int controlfd,\n  const struct rtpp_timestamp *dtime, struct rtpp_command_stats
      *csp, int umode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command.c:239,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_command.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmd
    - raddr
    - rlen
    argTypes:
    - struct rtpp_command*
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: rtpp_command_set_raddr
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void rtpp_command_set_raddr(struct rtpp_command *cmd, const struct
      sockaddr *raddr, socklen_t rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: rtpp_command_get_raddr
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: struct rtpp_sockaddr
    signature: struct rtpp_sockaddr rtpp_command_get_raddr(const struct rtpp_command
      *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: rtpp_command_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct rtpp_command_stats
    signature: 'struct rtpp_command_stats *

      rtpp_command_get_stats(const struct rtpp_command *cmd)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_CTRL_ISDG
      Src: /src/rtpproxy/src/rtpp_command.c:269,1
    - Dst: rtpp_command_ctor
      Src: /src/rtpproxy/src/rtpp_command.c:274,1
    - Dst: read
      Src: /src/rtpproxy/src/rtpp_command.c:284,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:286,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:289,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command.c:297,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command.c:301,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command.c:305,1
    - Dst: recvfrom
      Src: /src/rtpproxy/src/rtpp_command.c:307,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_command.c:311,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:313,1
    - Dst: rtpp_command_split
      Src: /src/rtpproxy/src/rtpp_command.c:325,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 7
    argNames:
    - cfsp
    - rcsp
    - controlfd
    - rval
    - dtime
    - csp
    - rcache_obj
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_ctrl_sock*
    - int
    - int*
    - struct rtpp_timestamp*
    - struct rtpp_command_stats*
    - struct rtpp_cmd_rcache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 331
    functionName: get_command
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached:
    - RTPP_ELOG
    - rtpp_command_ctor
    - sstosa
    - recvfrom
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - read
    - PUB2PVT
    - RTPP_CTRL_ISDG
    - rtpp_command_split
    linkageType: ''
    returnType: struct rtpp_command
    signature: "struct rtpp_command *\nget_command(const struct rtpp_cfg *cfsp, struct
      rtpp_ctrl_sock *rcsp, int controlfd, int *rval,\n  const struct rtpp_timestamp
      *dtime, struct rtpp_command_stats *csp,\n  struct rtpp_cmd_rcache *rcache_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: ISAMPAMP
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISAMPAMP(vp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command.c:343,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command.c:344,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/rtpp_command.c:344,1
    - Dst: RTPP_OBJ_BORROW
      Src: /src/rtpproxy/src/rtpp_command.c:346,1
    - Dst: rtpp_anetio_sendto_na
      Src: /src/rtpproxy/src/rtpp_command.c:353,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command.c:354,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cmd
    - rcache_obj
    argTypes:
    - struct rtpp_command*
    - struct rtpp_cmd_rcache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 360
    functionName: rtpp_command_guard_retrans
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 0
    functionsReached:
    - rtpp_anetio_sendto_na
    - sstosa
    - RTPP_OBJ_BORROW
    - RTPP_OBJ_DECREF
    - rtpp_str_fix
    - PUB2PVT
    - CALL_METHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_guard_retrans(struct rtpp_command *cmd,\n  struct
      rtpp_cmd_rcache *rcache_obj)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command.c:371,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:373,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:376,1
    - Dst: rtpp_strsplit
      Src: /src/rtpproxy/src/rtpp_command.c:382,1
    - Dst: memchr
      Src: /src/rtpproxy/src/rtpp_command.c:387,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_command.c:398,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:399,1
    - Dst: rtpp_command_guard_retrans
      Src: /src/rtpproxy/src/rtpp_command.c:410,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_command.c:419,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:419,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:420,1
    - Dst: ISAMPAMP
      Src: /src/rtpproxy/src/rtpp_command.c:425,1
    - Dst: rtpp_command_pre_parse
      Src: /src/rtpproxy/src/rtpp_command.c:450,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:458,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:459,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 4
    argNames:
    - cmd
    - len
    - rval
    - rcache_obj
    argTypes:
    - struct rtpp_command*
    - int
    - int*
    - struct rtpp_cmd_rcache*
    assertStmts:
    - condition: (CALL_SMETHOD(cmd->reply, appendf, "%.*s ", (int)ap->len, ap->s)
        == 0)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/rtpproxy/src/rtpp_command.c
    constantsTouched: []
    func_position:
      end: 463
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 463
    functionName: rtpp_command_split
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 2
    functionsReached:
    - memchr
    - rtpp_strsplit
    - RTPP_LOG
    - rtpp_command_pre_parse
    - assert
    - CALL_SMETHOD
    - strlen
    - PUB2PVT
    - ISAMPAMP
    - RTPP_DBG_ASSERT
    - rtpp_command_guard_retrans
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_split(struct rtpp_command *cmd, int len, int *rval,\n
      \ struct rtpp_cmd_rcache *rcache_obj)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: handle_ver_feature
      Src: /src/rtpproxy/src/rtpp_command.c:481,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:486,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:491,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:492,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:493,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:494,1
    - Dst: handle_info
      Src: /src/rtpproxy/src/rtpp_command.c:498,1
    - Dst: rtpp_command_play_opts_parse
      Src: /src/rtpproxy/src/rtpp_command.c:509,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:511,1
    - Dst: rtpp_command_record_opts_parse
      Src: /src/rtpproxy/src/rtpp_command.c:520,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:522,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_command.c:525,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:531,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:532,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:538,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:539,1
    - Dst: rtpp_command_del_opts_parse
      Src: /src/rtpproxy/src/rtpp_command.c:548,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:550,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_command.c:553,1
    - Dst: rtpp_command_ul_opts_parse
      Src: /src/rtpproxy/src/rtpp_command.c:558,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:560,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:575,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:577,1
    - Dst: handle_get_stats
      Src: /src/rtpproxy/src/rtpp_command.c:581,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:583,1
    - Dst: rtpp_subcommand_ul_opts_parse
      Src: /src/rtpproxy/src/rtpp_command.c:592,1
    - Dst: rtpp_command_ul_opts_free
      Src: /src/rtpproxy/src/rtpp_command.c:595,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:596,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:599,1
    - Dst: handle_delete
      Src: /src/rtpproxy/src/rtpp_command.c:608,1
    - Dst: handle_record
      Src: /src/rtpproxy/src/rtpp_command.c:612,1
    - Dst: handle_norecord
      Src: /src/rtpproxy/src/rtpp_command.c:616,1
    - Dst: find_stream
      Src: /src/rtpproxy/src/rtpp_command.c:620,1
    - Dst: NOT
      Src: /src/rtpproxy/src/rtpp_command.c:624,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:625,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/rtpp_command.c:626,1
    - Dst: rtpp_str_i
      Src: /src/rtpproxy/src/rtpp_command.c:634,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:635,1
    - Dst: rtpp_command_ul_opts_free
      Src: /src/rtpproxy/src/rtpp_command.c:641,1
    - Dst: ul_reply_port
      Src: /src/rtpproxy/src/rtpp_command.c:642,1
    - Dst: rtpp_command_play_opts_free
      Src: /src/rtpproxy/src/rtpp_command.c:646,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:651,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:651,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:655,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:655,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command.c:659,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:662,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:669,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:673,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:674,1
    - Dst: rtpp_command_play_handle
      Src: /src/rtpproxy/src/rtpp_command.c:678,1
    - Dst: handle_copy
      Src: /src/rtpproxy/src/rtpp_command.c:682,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:683,1
    - Dst: handle_query
      Src: /src/rtpproxy/src/rtpp_command.c:690,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:692,1
    - Dst: rtpp_command_ul_handle
      Src: /src/rtpproxy/src/rtpp_command.c:698,1
    - Dst: rtpp_command_ul_opts_free
      Src: /src/rtpproxy/src/rtpp_command.c:699,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_command.c:704,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 180
    argCount: 2
    argNames:
    - cfsp
    - cmd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 708
    functionName: handle_command
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 2
    functionsReached:
    - rtpp_command_ul_opts_parse
    - rtpp_command_ul_opts_free
    - handle_delete
    - handle_record
    - handle_norecord
    - rtpp_command_play_handle
    - handle_info
    - rtpp_command_ul_handle
    - ul_reply_port
    - rtpp_subcommand_ul_opts_parse
    - handle_copy
    - RTPP_LOG
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - CALL_SMETHOD
    - handle_get_stats
    - RTPP_DBG_ASSERT
    - rtpp_command_record_opts_parse
    - find_stream
    - abort
    - rtpp_command_play_opts_free
    - handle_query
    - rtpp_command_del_opts_parse
    - NOT
    - handle_ver_feature
    - rtpp_command_play_opts_parse
    - rtpp_str_i
    linkageType: ''
    returnType: int
    signature: int handle_command(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command.c:744,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:745,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:750,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:751,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:752,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:753,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:755,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:757,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:758,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:762,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command.c:763,1
    - Dst: addr2char_r
      Src: /src/rtpproxy/src/rtpp_command.c:782,1
    - Dst: strcpy
      Src: /src/rtpproxy/src/rtpp_command.c:784,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_command.c:786,1
    - Dst: addr2char
      Src: /src/rtpproxy/src/rtpp_command.c:786,1
    - Dst: addr2port
      Src: /src/rtpproxy/src/rtpp_command.c:787,1
    - Dst: addr2char_r
      Src: /src/rtpproxy/src/rtpp_command.c:789,1
    - Dst: strcpy
      Src: /src/rtpproxy/src/rtpp_command.c:791,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_command.c:793,1
    - Dst: addr2char
      Src: /src/rtpproxy/src/rtpp_command.c:793,1
    - Dst: addr2port
      Src: /src/rtpproxy/src/rtpp_command.c:794,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_command.c:797,1
    - Dst: rtpc_doreply
      Src: /src/rtpproxy/src/rtpp_command.c:804,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:810,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:811,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command.c:813,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - cfsp
    - cmd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 815
    functionName: handle_info
    functionSourceFile: /src/rtpproxy/src/rtpp_command.c
    functionUses: 1
    functionsReached:
    - addr2char_r
    - strcpy
    - rtpc_doreply
    - addr2port
    - snprintf
    - RTPP_LOG
    - addr2char
    - CALL_SMETHOD
    - sprintf
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void handle_info(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_signal_fence
      Src: /src/rtpproxy/src/rtpp_wref_test.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: delay_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_wref_test.c
    functionUses: 0
    functionsReached:
    - atomic_signal_fence
    linkageType: ''
    returnType: void
    signature: void delay_dtor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:96,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_wref_test.c:97,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:99,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_wref_test.c:100,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_wref_test.c:103,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_wref_test.c:106,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: release_run
    functionSourceFile: /src/rtpproxy/src/rtpp_wref_test.c
    functionUses: 0
    functionsReached:
    - atomic_store_explicit
    - atomic_load_explicit
    - RC_DECREF
    - sched_yield
    linkageType: ''
    returnType: void
    signature: 'void *

      release_run(void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:121,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_wref_test.c:122,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:124,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wref_test.c:127,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:129,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:133,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:134,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:135,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_wref_test.c:137,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (href->rco == tcp->slots[i].orig_rco)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: (href->obj == tcp->slots[i].orig_obj)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: getter_run
    functionSourceFile: /src/rtpproxy/src/rtpp_wref_test.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - atomic_load_explicit
    - assert
    - RC_DECREF
    - CALL_SMETHOD
    - atomic_store_explicit
    - sched_yield
    linkageType: ''
    returnType: void
    signature: 'void *

      getter_run(void *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_wref_test.c:151,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_wref_test.c:152,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_wref_test.c:153,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_wref_test.c:154,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_wref_test.c:155,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_wref_test.c:156,1
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/src/rtpp_wref_test.c:159,1
    - Dst: rtpp_memdeb_selftest
      Src: /src/rtpproxy/src/rtpp_wref_test.c:160,1
    - Dst: rtpp_refcnt_ctor
      Src: /src/rtpproxy/src/rtpp_wref_test.c:166,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:167,1
    - Dst: rtpp_wref_ctor
      Src: /src/rtpproxy/src/rtpp_wref_test.c:170,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:171,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:172,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wref_test.c:172,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:176,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wref_test.c:176,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:180,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_wref_test.c:180,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:181,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_wref_test.c:181,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:182,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_wref_test.c:183,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_wref_test.c:184,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:186,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:186,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_wref_test.c:188,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_wref_test.c:188,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_wref_test.c:189,1
    - Dst: printf
      Src: /src/rtpproxy/src/rtpp_wref_test.c:192,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:193,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_wref_test.c:195,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_wref_test.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tc.slots[i].wref != NULL)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: "(CALL_SMETHOD(tc.slots[i].rco, attach, delay_dtor,\n          &tc.slots[i])
        == 0)"
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: (pthread_create(&getter_id, NULL, getter_run, &tc) == 0)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: (tc.slots[i].rco != NULL)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: "(CALL_SMETHOD(tc.slots[i].wref, setref, tc.slots[i].rco,\n          tc.slots[i].orig_obj)
        == 0)"
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: (pthread_create(&release_id, NULL, release_run, &tc) == 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: (atomic_load_explicit(&tc.getref_ok, memory_order_relaxed) > 0)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - condition: (CALL_SMETHOD(tc.slots[i].wref, getref) == NULL)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    constantsTouched: []
    func_position:
      end: 204
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/rtpproxy/src/rtpp_wref_test.c
    functionUses: 0
    functionsReached:
    - rtpp_memdeb_selftest
    - rtpp_refcnt_ctor
    - pthread_create
    - atomic_load_explicit
    - RTPP_OBJ_DECREF
    - rtpp_wref_ctor
    - pthread_join
    - assert
    - rtpp_memdeb_dumpstats
    - memset
    - RTPP_MEMDEB_APP_INIT
    - CALL_SMETHOD
    - atomic_store_explicit
    - printf
    - atomic_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:50,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:51,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:52,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:56,1
    - Dst: rtpp_memdeb_get_stats
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:57,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:58,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:63,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:67,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:71,1
    - Dst: rtpp_memdeb_get_stats
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:73,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:74,1
    - Dst: RTPP_MD_STATS_CMP
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:77,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:78,1
    - Dst: RTPP_MD_STATS_SUB
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:81,1
    - Dst: RTPP_MEMDEB_REPORT
      Src: /src/rtpproxy/src/rtpp_memdeb_test.c:84,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 88
    functionName: rtpp_memdeb_selftest
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb_test.c
    functionUses: 3
    functionsReached:
    - free
    - RTPP_MEMDEB_REPORT
    - rtpp_memdeb_get_stats
    - RTPP_MD_STATS_SUB
    - malloc
    - RTPP_MD_STATS_CMP
    - memset
    linkageType: ''
    returnType: int
    signature: int rtpp_memdeb_selftest(void *pvt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_analyzer.c:76,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_analyzer.c:76,1
    - Dst: rtpp_stats_init
      Src: /src/rtpproxy/src/rtpp_analyzer.c:81,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_analyzer.c:85,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_analyzer.c:86,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_analyzer.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: rtpp_analyzer_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_analyzer.c
    functionUses: 1
    functionsReached:
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - rtpp_stats_init
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_analyzer
    signature: 'struct rtpp_analyzer *

      rtpp_analyzer_ctor(struct rtpp_log *log)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_analyzer.c:99,1
    - Dst: rtp_packet_parse
      Src: /src/rtpproxy/src/rtpp_analyzer.c:100,1
    - Dst: update_rtpp_stats
      Src: /src/rtpproxy/src/rtpp_analyzer.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - rap
    - pkt
    argTypes:
    - struct rtpp_analyzer*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: rtpp_analyzer_update
    functionSourceFile: /src/rtpproxy/src/rtpp_analyzer.c
    functionUses: 0
    functionsReached:
    - rtp_packet_parse
    - PUB2PVT
    - update_rtpp_stats
    linkageType: ''
    returnType: enum update_rtpp_stats_rval
    signature: enum update_rtpp_stats_rval rtpp_analyzer_update(struct rtpp_analyzer
      *rap, struct rtp_packet *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_analyzer.c:119,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_analyzer.c:122,1
    - Dst: update_rtpp_totals
      Src: /src/rtpproxy/src/rtpp_analyzer.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - rap
    - rsp
    argTypes:
    - struct rtpp_analyzer*
    - struct rtpa_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: rtpp_analyzer_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_analyzer.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - memset
    - update_rtpp_totals
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_get_stats(struct rtpp_analyzer *rap, struct rtpa_stats
      *rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_analyzer.c:144,1
    - Dst: get_jitter_stats
      Src: /src/rtpproxy/src/rtpp_analyzer.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rap
    - jrsp
    argTypes:
    - struct rtpp_analyzer*
    - struct rtpa_stats_jitter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: rtpp_analyzer_get_jstats
    functionSourceFile: /src/rtpproxy/src/rtpp_analyzer.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - get_jitter_stats
    linkageType: ''
    returnType: int
    signature: "int rtpp_analyzer_get_jstats(struct rtpp_analyzer *rap,\n  struct
      rtpa_stats_jitter *jrsp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_analyzer_fin
      Src: /src/rtpproxy/src/rtpp_analyzer.c:153,1
    - Dst: rtpp_stats_destroy
      Src: /src/rtpproxy/src/rtpp_analyzer.c:154,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_analyzer.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_analyzer_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: rtpp_analyzer_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_analyzer.c
    functionUses: 0
    functionsReached:
    - rtpp_analyzer_fin
    - rtpp_stats_destroy
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_dtor(struct rtpp_analyzer_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_pearson_shuffle
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:65,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:66,1
    - Dst: struct rtpp_pearson_perfect_priv*::gv
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:68,1
    - Dst: struct rtpp_pearson_perfect_priv*::gv
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:69,1
    - Dst: rtpp_pearson_hash8
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - rppp
    argTypes:
    - struct rtpp_pearson_perfect_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: compute_perfect_hash
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson_perfect.c
    functionUses: 0
    functionsReached:
    - rtpp_pearson_shuffle
    - struct rtpp_pearson_perfect_priv*::gv
    - memset
    - rtpp_pearson_hash8
    linkageType: ''
    returnType: void
    signature: void compute_perfect_hash(struct rtpp_pearson_perfect_priv *rppp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:84,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:84,1
    - Dst: compute_perfect_hash
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:92,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - gv
    - gv_arg
    argTypes:
    - rtpp_pearson_getval_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: rtpp_pearson_perfect_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson_perfect.c
    functionUses: 0
    functionsReached:
    - PUBINST_FININIT
    - rtpp_rzmalloc
    - compute_perfect_hash
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_pearson_perfect
    signature: 'struct rtpp_pearson_perfect *

      rtpp_pearson_perfect_ctor(rtpp_pearson_getval_t gv, void *gv_arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:104,1
    - Dst: rtpp_pearson_hash8
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:105,1
    - Dst: struct rtpp_pearson_perfect_priv*::gv
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:109,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - self
    - isval
    argTypes:
    - struct rtpp_pearson_perfect*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: rtpp_pearson_perfect_hash
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson_perfect.c
    functionUses: 0
    functionsReached:
    - struct rtpp_pearson_perfect_priv*::gv
    - strcmp
    - PUB2PVT
    - rtpp_pearson_hash8
    linkageType: ''
    returnType: int
    signature: int rtpp_pearson_perfect_hash(struct rtpp_pearson_perfect *self, const
      char *isval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_pearson_perfect_fin
      Src: /src/rtpproxy/src/rtpp_pearson_perfect.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rppp
    argTypes:
    - struct rtpp_pearson_perfect_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: rtpp_pearson_perfect_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_pearson_perfect.c
    functionUses: 0
    functionsReached:
    - rtpp_pearson_perfect_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_pearson_perfect_dtor(struct rtpp_pearson_perfect_priv *rppp)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_parse.c:240,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 171
    argCount: 3
    argNames:
    - cfsp
    - cmd
    - cpp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct cmd_props*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 250
    functionName: fill_cmd_props
    functionSourceFile: /src/rtpproxy/src/rtpp_command_parse.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int fill_cmd_props(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd,\n  struct cmd_props *cpp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_cmd_props
      Src: /src/rtpproxy/src/rtpp_command_parse.c:257,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_parse.c:258,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_parse.c:260,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_parse.c:264,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_parse.c:266,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_parse.c:270,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_parse.c:272,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_parse.c:276,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_command_parse.c:278,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/rtpp_command_parse.c:282,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/rtpp_command_parse.c:285,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/rtpp_command_parse.c:288,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - cfsp
    - cmd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 291
    functionName: rtpp_command_pre_parse
    functionSourceFile: /src/rtpproxy/src/rtpp_command_parse.c
    functionUses: 1
    functionsReached:
    - fill_cmd_props
    - RTPP_LOG
    - rtpp_str_fix
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int rtpp_command_pre_parse(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_refproxy.c:60,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_refproxy.c:60,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_refproxy.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - nrefs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: rtpp_refproxy_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_refproxy.c
    functionUses: 0
    functionsReached:
    - PUBINST_FININIT
    - rtpp_rzmalloc
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_refproxy
    signature: 'struct rtpp_refproxy *

      rtpp_refproxy_ctor(int nrefs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_refproxy_fin
      Src: /src/rtpproxy/src/rtpp_refproxy.c:76,1
    - Dst: RC_DECREF
      Src: /src/rtpproxy/src/rtpp_refproxy.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_refproxy_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: rtpp_refproxy_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_refproxy.c
    functionUses: 0
    functionsReached:
    - RC_DECREF
    - rtpp_refproxy_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_refproxy_dtor(struct rtpp_refproxy_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refproxy.c:87,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_refproxy.c:88,1
    - Dst: RC_INCREF
      Src: /src/rtpproxy/src/rtpp_refproxy.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - self
    - rcnt
    argTypes:
    - struct rtpp_refproxy*
    - struct rtpp_refcnt*
    assertStmts:
    - condition: (pvt->alen > pvt->ulen)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/rtpproxy/src/rtpp_refproxy.c
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: rtpp_refproxy_add
    functionSourceFile: /src/rtpproxy/src/rtpp_refproxy.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - assert
    - RC_INCREF
    linkageType: ''
    returnType: void
    signature: void rtpp_refproxy_add(struct rtpp_refproxy *self, struct rtpp_refcnt
      *rcnt)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_log_ctor
      Src: /src/rtpproxy/src/rtpp_session.c:105,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_session.c:110,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:112,1
    - Dst: rtpp_create_listener
      Src: /src/rtpproxy/src/rtpp_session.c:114,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_session.c:116,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_session.c:121,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_session.c:121,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:127,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_session.c:129,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_session.c:130,1
    - Dst: rtpp_pipe_ctor
      Src: /src/rtpproxy/src/rtpp_session.c:134,1
    - Dst: rtpp_pipe_ctor
      Src: /src/rtpproxy/src/rtpp_session.c:140,1
    - Dst: rtpp_acct_ctor
      Src: /src/rtpproxy/src/rtpp_session.c:144,1
    - Dst: rtpp_str_dup2
      Src: /src/rtpproxy/src/rtpp_session.c:151,1
    - Dst: rtpp_str_dup2
      Src: /src/rtpproxy/src/rtpp_session.c:155,1
    - Dst: memchr
      Src: /src/rtpproxy/src/rtpp_session.c:160,1
    - Dst: rtpp_str_dup2
      Src: /src/rtpproxy/src/rtpp_session.c:164,1
    - Dst: rtpp_ttl_ctor
      Src: /src/rtpproxy/src/rtpp_session.c:178,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_session.c:184,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_session.c:188,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_session.c:198,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_session.c:201,1
    - Dst: GET_SMETHODS
      Src: /src/rtpproxy/src/rtpp_session.c:206,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:210,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:212,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:213,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:214,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_session.c:215,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:218,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_session.c:222,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_session.c:227,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_session.c:229,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_session.c:231,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:233,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:235,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:237,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:239,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:242,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:244,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:246,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 142
    argCount: 1
    argNames:
    - ap
    argTypes:
    - struct rtpp_session_ctor_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 249
    functionName: rtpp_session_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_pipe_ctor
    - CALL_METHOD
    - rtpp_acct_ctor
    - rtpp_str_dup2
    - rtpp_create_listener
    - memchr
    - RTPP_OBJ_DECREF
    - GET_SMETHODS
    - RTPP_LOG
    - RTPP_OBJ_INCREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    - rtpp_log_ctor
    - RTPP_DBG_ASSERT
    - rtpp_ttl_ctor
    linkageType: ''
    returnType: struct rtpp_session
    signature: 'struct rtpp_session *

      rtpp_session_ctor(const struct rtpp_session_ctor_args *ap)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_session.c:256,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:267,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pub
    - idx
    - ppi
    - rport
    argTypes:
    - struct rtpp_session*
    - int
    - struct rtpp_packetport_int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: rtpp_session_set_packetport
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 0
    functionsReached:
    - abort
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: "void rtpp_session_set_packetport(struct rtpp_session *pub, int idx,\n
      \ struct rtpp_packetport_int *ppi, unsigned int rport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:277,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pub
    - idx
    argTypes:
    - struct rtpp_session*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: rtpp_session_unset_packetport
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 0
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_session_unset_packetport(struct rtpp_session *pub, int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_timestamp_get
      Src: /src/rtpproxy/src/rtpp_session.c:289,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:292,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:293,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:295,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:296,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:300,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:302,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:303,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:304,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:311,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:313,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:315,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:317,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_session.c:320,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:321,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:323,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:326,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_session.c:328,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_session.c:330,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_session.c:332,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:334,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:335,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_session.c:336,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_session.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_session_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 339
    functionName: rtpp_session_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_timestamp_get
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - CALL_SMETHOD
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_session_dtor(struct rtpp_session_priv *pvt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_session.c:348,1
    - Dst: strtoul
      Src: /src/rtpproxy/src/rtpp_session.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tag1
    - tag0
    - medianum_p
    argTypes:
    - rtpp_str_t*
    - rtpp_str_t*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 358
    functionName: compare_session_tags
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 0
    functionsReached:
    - strtoul
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int compare_session_tags(const rtpp_str_t *tag1, const rtpp_str_t
      *tag0,\n  unsigned *medianum_p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_str_match
      Src: /src/rtpproxy/src/rtpp_session.c:377,1
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/rtpp_session.c:382,1
    - Dst: strrchr
      Src: /src/rtpproxy/src/rtpp_session.c:393,1
    - Dst: strrchr
      Src: /src/rtpproxy/src/rtpp_session.c:394,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_session.c:395,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_session.c:408,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_session.c:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 412
    functionName: rtpp_session_ematch
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 0
    functionsReached:
    - rtpp_str_match
    - RTPP_OBJ_INCREF
    - strcmp
    - compare_session_tags
    - RTPP_DBG_ASSERT
    - strrchr
    linkageType: ''
    returnType: int
    signature: int rtpp_session_ematch(void *dp, void *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_session.c:420,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_session.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cfsp
    - call_id
    - from_tag
    - to_tag
    - spp
    argTypes:
    - struct rtpp_cfg*
    - rtpp_str_t*
    - rtpp_str_t*
    - rtpp_str_t*
    - struct rtpp_session**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: find_stream
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 1
    functionsReached:
    - memset
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int find_stream(const struct rtpp_cfg *cfsp, const rtpp_str_t *call_id,\n
      \ const rtpp_str_t *from_tag, const rtpp_str_t *to_tag, struct rtpp_session
      **spp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - sessp
    - rtp_strmp_in
    argTypes:
    - struct rtpp_session*
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 445
    functionName: get_rtcp_pair
    functionSourceFile: /src/rtpproxy/src/rtpp_session.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct rtpp_stream_pair
    signature: struct rtpp_stream_pair get_rtcp_pair(const struct rtpp_session *sessp,
      const struct rtpp_stream *rtp_strmp_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: STRINGIFY
    functionSourceFile: /src/rtpproxy/src/rtpp_defines.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: STR
    functionSourceFile: /src/rtpproxy/src/rtpp_defines.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_socket.c:129,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_socket.c:129,1
    - Dst: socket
      Src: /src/rtpproxy/src/rtpp_socket.c:133,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:143,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_socket.c:146,1
    - Dst: rtpp_wref_ctor
      Src: /src/rtpproxy/src/rtpp_socket.c:147,1
    - Dst: rtpp_wref_ctor
      Src: /src/rtpproxy/src/rtpp_socket.c:151,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_socket.c:157,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_socket.c:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - netio
    - domain
    - type
    argTypes:
    - struct rtpp_anetio_cf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 163
    functionName: rtpp_socket_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 1
    functionsReached:
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - rtpp_wref_ctor
    - PVT_RCOFFS
    - socket
    - rtpp_rzmalloc
    - setsockopt
    linkageType: ''
    returnType: struct rtpp_socket
    signature: 'struct rtpp_socket *

      rtpp_socket_ctor(struct rtpp_anetio_cf *netio, int domain, int type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_socket_fin
      Src: /src/rtpproxy/src/rtpp_socket.c:169,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_socket.c:171,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_socket.c:174,1
    - Dst: shutdown
      Src: /src/rtpproxy/src/rtpp_socket.c:177,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_socket.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_socket_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: rtpp_socket_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - shutdown
    - rtpp_socket_fin
    - close
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_dtor(struct rtpp_socket_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:188,1
    - Dst: bind
      Src: /src/rtpproxy/src/rtpp_socket.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - self
    - addr
    - addrlen
    argTypes:
    - struct rtpp_socket*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: rtpp_socket_bind
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - bind
    linkageType: ''
    returnType: int
    signature: "int rtpp_socket_bind(struct rtpp_socket *self, const struct sockaddr
      *addr,\n  int addrlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:197,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - tos
    argTypes:
    - struct rtpp_socket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 199
    functionName: rtpp_socket_settos
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int rtpp_socket_settos(struct rtpp_socket *self, int tos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:206,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - so_rcvbuf
    argTypes:
    - struct rtpp_socket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: rtpp_socket_setrbuf
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int rtpp_socket_setrbuf(struct rtpp_socket *self, int so_rcvbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:217,1
    - Dst: fcntl
      Src: /src/rtpproxy/src/rtpp_socket.c:218,1
    - Dst: fcntl
      Src: /src/rtpproxy/src/rtpp_socket.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: rtpp_socket_setnonblock
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - fcntl
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_socket_setnonblock(struct rtpp_socket *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:230,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:232,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:239,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:241,1
    - Dst: setsockopt
      Src: /src/rtpproxy/src/rtpp_socket.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: rtpp_socket_settimestamp
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int rtpp_socket_settimestamp(struct rtpp_socket *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:263,1
    - Dst: rtpp_anetio_pick_sender
      Src: /src/rtpproxy/src/rtpp_socket.c:265,1
    - Dst: rtpp_anetio_send_pkt_na
      Src: /src/rtpproxy/src/rtpp_socket.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - self
    - str
    - daddr
    - pkt
    - log
    argTypes:
    - struct rtpp_socket*
    - struct sthread_args*
    - struct rtpp_netaddr*
    - struct rtp_packet*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: rtpp_socket_send_pkt_na
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - rtpp_anetio_pick_sender
    - PUB2PVT
    - rtpp_anetio_send_pkt_na
    linkageType: ''
    returnType: int
    signature: "int rtpp_socket_send_pkt_na(struct rtpp_socket *self, struct sthread_args
      *str,\n  struct rtpp_netaddr *daddr, struct rtp_packet *pkt,\n  struct rtpp_log
      *log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:275,1
    - Dst: struct rtpp_socket_priv*::rtp_recv
      Src: /src/rtpproxy/src/rtpp_socket.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - self
    - dtime
    - laddr
    - port
    argTypes:
    - struct rtpp_socket*
    - struct rtpp_timestamp*
    - struct sockaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: rtpp_socket_rtp_recv
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - struct rtpp_socket_priv*::rtp_recv
    linkageType: ''
    returnType: struct rtp_packet
    signature: "struct rtp_packet *\nrtpp_socket_rtp_recv(struct rtpp_socket *self,
      const struct rtpp_timestamp *dtime,\n  const struct sockaddr *laddr, int port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/src/rtpp_socket.c:285,1
    - Dst: recvfrom
      Src: /src/rtpproxy/src/rtpp_socket.c:291,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_socket.c:292,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_socket.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ra
    argTypes:
    - struct rs_recv_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: rtpp_socket_rtp_recv_simple
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - sstosa
    - recvfrom
    - rtp_packet_alloc
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtpp_socket_rtp_recv_simple(const struct rs_recv_arg *ra)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/src/rtpp_socket.c:317,1
    - Dst: _recvfromtof
      Src: /src/rtpproxy/src/rtpp_socket.c:324,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_socket.c:325,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_socket.c:325,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_socket.c:328,1
    - Dst: setport
      Src: /src/rtpproxy/src/rtpp_socket.c:332,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_socket.c:332,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_socket.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - ra
    - _recvfromtof
    - tptr
    argTypes:
    - struct rs_recv_arg*
    - recvfromto_t
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 339
    functionName: _rtpp_socket_rtp_recv
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - sstosa
    - setport
    - RTPP_OBJ_DECREF
    - rtp_packet_alloc
    - _recvfromtof
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      _rtpp_socket_rtp_recv(const struct rs_recv_arg *ra, recvfromto_t _recvfromtof,
      struct timespec *tptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_socket.c:347,1
    - Dst: _rtpp_socket_rtp_recv
      Src: /src/rtpproxy/src/rtpp_socket.c:348,1
    - Dst: timespeciszero
      Src: /src/rtpproxy/src/rtpp_socket.c:353,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/src/rtpp_socket.c:354,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_socket.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ra
    - recv_f
    argTypes:
    - struct rs_recv_arg*
    - recvfromto_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 363
    functionName: rtpp_socket_rtp_recv_ts
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - _rtpp_socket_rtp_recv
    - timespeciszero
    - memset
    - RTPP_DBG_ASSERT
    - timespec2dtime
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtpp_socket_rtp_recv_ts(const struct rs_recv_arg *ra, recvfromto_t recv_f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_socket_rtp_recv_ts
      Src: /src/rtpproxy/src/rtpp_socket.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - struct rs_recv_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: rtpp_socket_rtp_recv_gen
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - rtpp_socket_rtp_recv_ts
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtpp_socket_rtp_recv_gen(const struct rs_recv_arg *ra)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_socket_rtp_recv_ts
      Src: /src/rtpproxy/src/rtpp_socket.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - struct rs_recv_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: rtpp_socket_rtp_recv_mono
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - rtpp_socket_rtp_recv_ts
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtpp_socket_rtp_recv_mono(const struct rs_recv_arg *ra)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: rtpp_socket_getfd
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_socket_getfd(struct rtpp_socket *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:398,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_socket.c:401,1
    - Dst: recv
      Src: /src/rtpproxy/src/rtpp_socket.c:405,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_socket.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - self
    - ptype
    - log
    argTypes:
    - struct rtpp_socket*
    - char*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 417
    functionName: rtpp_socket_drain
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - recv
    - RTPP_LOG
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: "int rtpp_socket_drain(struct rtpp_socket *self, const char *ptype,\n
      \ struct rtpp_log *log)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_socket.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 2
    functionsReached:
    - RTPP_LOG
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_socket.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 2
    functionsReached:
    - RTPP_LOG
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - stuid
    argTypes:
    - struct rtpp_socket*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: rtpp_socket_set_stuid
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_set_stuid(struct rtpp_socket *self, uint64_t stuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: rtpp_socket_get_stuid
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rtpp_socket_get_stuid(struct rtpp_socket *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:442,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_socket.c:443,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_socket.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - sp
    argTypes:
    - struct rtpp_socket*
    - struct rtpp_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: rtpp_socket_link_session
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_link_session(struct rtpp_socket *self, struct rtpp_session
      *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:453,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_socket.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: rtpp_socket_get_session_link
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct rtpp_session
    signature: 'struct rtpp_session *

      rtpp_socket_get_session_link(struct rtpp_socket *self)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:466,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_socket.c:467,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_socket.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - stp
    argTypes:
    - struct rtpp_socket*
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: rtpp_socket_link_stream
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_link_stream(struct rtpp_socket *self, struct rtpp_stream
      *stp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_socket.c:477,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_socket.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: rtpp_socket_get_stream_link
    functionSourceFile: /src/rtpproxy/src/rtpp_socket.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct rtpp_stream
    signature: 'struct rtpp_stream *

      rtpp_socket_get_stream_link(struct rtpp_socket *self)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: rtpp_str_fix
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_str_fix(src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - src
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: rtpp_str_dup2
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_str_dup2(src, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp1
    - ','
    - sp2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: rtpp_str_match
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_str_match(sp1, sp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: FMTSTR
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMTSTR(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: RTPP_STR_ITERATE
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_STR_ITERATE(sp, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: rtpp_str_mutble_i
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_str_mutble_i(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: rtpp_str_const_i
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_str_const_i(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: rtpp_str_i
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_str_i(_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rtpp_str_dup2
      Src: /src/rtpproxy/src/rtpp_str.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct rtpp_str_const*
    - struct rtpp_str_const*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: _rtpp_str_dup2_sc
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 0
    functionsReached:
    - _rtpp_str_dup2
    linkageType: ''
    returnType: struct rtpp_str
    signature: 'struct rtpp_str *

      _rtpp_str_dup2_sc(const struct rtpp_str_const *src, struct rtpp_str_const *dst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rtpp_str_dup2
      Src: /src/rtpproxy/src/rtpp_str.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct rtpp_str_fixed*
    - struct rtpp_str_const*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: _rtpp_str_dup2_sf
    functionSourceFile: /src/rtpproxy/src/rtpp_str.h
    functionUses: 0
    functionsReached:
    - _rtpp_str_dup2
    linkageType: ''
    returnType: struct rtpp_str
    signature: 'struct rtpp_str *

      _rtpp_str_dup2_sf(const struct rtpp_str_fixed *src, struct rtpp_str_const *dst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_acct.c:75,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_acct.c:75,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_acct.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - seuid
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: rtpp_acct_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_acct.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_acct
    signature: 'struct rtpp_acct *

      rtpp_acct_ctor(uint64_t seuid)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_acct.c:106,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_acct.c:108,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct.c:110,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct.c:112,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct.c:114,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_acct.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_acct_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: rtpp_acct_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_acct.c
    functionUses: 0
    functionsReached:
    - free
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_acct_dtor(struct rtpp_acct_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_refcnt.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: rtpp_refcnt_free
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: DTOR_PAIR_INIT
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTOR_PAIR_INIT(fn, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: DTOR_RC_INIT
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTOR_RC_INIT(rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_refcnt.c:137,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:142,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:144,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:147,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_refcnt.c:148,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:151,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:153,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_refcnt.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - dtor_f
    argTypes:
    - void*
    - rtpp_refcnt_dtor_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 161
    functionName: rtpp_refcnt_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 3
    functionsReached:
    - rtpp_zmalloc
    - atomic_init
    - DTOR_PAIR_INIT
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: 'struct rtpp_refcnt *

      rtpp_refcnt_ctor(void *data, rtpp_refcnt_dtor_t dtor_f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:171,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:173,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_refcnt.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pap
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: rtpp_refcnt_ctor_pa
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 2
    functionsReached:
    - atomic_init
    - DTOR_PAIR_INIT
    linkageType: ''
    returnType: struct rtpp_refcnt
    signature: 'struct rtpp_refcnt *

      rtpp_refcnt_ctor_pa(void *pap, void *data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:190,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:191,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:193,1
    - Dst: DTOR_PAIR_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pub
    - dtor_f
    - data
    argTypes:
    - struct rtpp_refcnt*
    - rtpp_refcnt_dtor_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: rtpp_refcnt_attach
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - PUB2PVT
    - atomic_fetch_sub_explicit
    - DTOR_PAIR_INIT
    linkageType: ''
    returnType: int
    signature: "int rtpp_refcnt_attach(struct rtpp_refcnt *pub, rtpp_refcnt_dtor_t
      dtor_f,\n  void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_refcnt_attach
      Src: /src/rtpproxy/src/rtpp_refcnt.c:204,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - dtor_f
    - data
    argTypes:
    - struct rtpp_refcnt*
    - rtpp_refcnt_dtor_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: rtpp_refcnt_attach_nc
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    - rtpp_refcnt_attach
    linkageType: ''
    returnType: void
    signature: "void rtpp_refcnt_attach_nc(struct rtpp_refcnt *pub, rtpp_refcnt_dtor_t
      dtor_f,\n  void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:213,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:214,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:216,1
    - Dst: DTOR_RC_INIT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pub
    - other
    argTypes:
    - struct rtpp_refcnt*
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: rtpp_refcnt_attach_rc
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - PUB2PVT
    - atomic_fetch_sub_explicit
    - DTOR_RC_INIT
    linkageType: ''
    returnType: int
    signature: int rtpp_refcnt_attach_rc(struct rtpp_refcnt *pub, struct rtpp_refcnt
      *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_refcnt_attach_rc
      Src: /src/rtpproxy/src/rtpp_refcnt.c:227,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub
    - other
    argTypes:
    - struct rtpp_refcnt*
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: rtpp_refcnt_attach_rc_nc
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    - rtpp_refcnt_attach_rc
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_attach_rc_nc(struct rtpp_refcnt *pub, struct rtpp_refcnt
      *other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:237,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:239,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:240,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:243,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:247,1
    - Dst: rtpp_memdeb_asprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:253,1
    - Dst: CODEPTR_FMT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:254,1
    - Dst: rtpp_stacktrace_print
      Src: /src/rtpproxy/src/rtpp_refcnt.c:256,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_refcnt.c:257,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:260,1
    - Dst: CODEPTR_FMT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:260,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pub
    - mlp
    argTypes:
    - struct rtpp_refcnt*
    - HERETYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 265
    functionName: rtpp_refcnt_incref
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_stacktrace_print
    - atomic_fetch_add_explicit
    - fprintf
    - CODEPTR_FMT
    - atomic_load_explicit
    - rtpp_memdeb_asprintf
    - atomic_store_explicit
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_incref(struct rtpp_refcnt *pub, HERETYPE mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:239,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 2
    functionsReached:
    - atomic_load_explicit
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:273,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:276,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:279,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:281,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: rtpp_refcnt_tryincref
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub_explicit
    - atomic_fetch_add_explicit
    - atomic_store_explicit
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int rtpp_refcnt_tryincref(struct rtpp_refcnt *pub)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:294,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:296,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:297,1
    - Dst: atomic_fetch_sub_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:308,1
    - Dst: rtpp_memdeb_asprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:316,1
    - Dst: CODEPTR_FMT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:317,1
    - Dst: rtpp_stacktrace_print
      Src: /src/rtpproxy/src/rtpp_refcnt.c:319,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_refcnt.c:320,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:323,1
    - Dst: CODEPTR_FMT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:323,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:327,1
    - Dst: atomic_thread_fence
      Src: /src/rtpproxy/src/rtpp_refcnt.c:330,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:332,1
    - Dst: dladdr
      Src: /src/rtpproxy/src/rtpp_refcnt.c:338,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:339,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:342,1
    - Dst: rtpp_refcnt_fin
      Src: /src/rtpproxy/src/rtpp_refcnt.c:346,1
    - Dst: struct dtor_pair*::f
      Src: /src/rtpproxy/src/rtpp_refcnt.c:348,1
    - Dst: rtpp_refcnt_decref
      Src: /src/rtpproxy/src/rtpp_refcnt.c:351,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - pub
    - mlp
    argTypes:
    - struct rtpp_refcnt*
    - HERETYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 355
    functionName: rtpp_refcnt_decref
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 1
    functionsReached:
    - free
    - atomic_fetch_sub_explicit
    - rtpp_stacktrace_print
    - fprintf
    - CODEPTR_FMT
    - rtpp_refcnt_decref
    - atomic_thread_fence
    - dladdr
    - atomic_load_explicit
    - rtpp_memdeb_asprintf
    - struct dtor_pair*::f
    - rtpp_refcnt_fin
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_decref(struct rtpp_refcnt *pub, HERETYPE mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:296,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 2
    functionsReached:
    - atomic_load_explicit
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:362,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:363,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_refcnt.c:363,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/rtpp_refcnt.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: rtpp_refcnt_getdata
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - atomic_load
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_refcnt_getdata(struct rtpp_refcnt *pub)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:373,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:375,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_refcnt.c:376,1
    - Dst: CODEPTR_FMT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pub
    - mlp
    argTypes:
    - struct rtpp_refcnt*
    - HERETYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: rtpp_refcnt_traceen
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - PUB2PVT
    - fprintf
    - CODEPTR_FMT
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_traceen(struct rtpp_refcnt *pub, HERETYPE mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_refcnt.c:384,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_refcnt.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: rtpp_refcnt_peek
    functionSourceFile: /src/rtpproxy/src/rtpp_refcnt.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpp_refcnt_peek(struct rtpp_refcnt *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ts_rate
    - ts
    argTypes:
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: rtp_ts2dtime
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double rtp_ts2dtime(int ts_rate, uint32_t ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ts_rate
    - dtime
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: rtp_dtime2time_ts64
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rtp_dtime2time_ts64(int ts_rate, double dtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - log
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: LOGD_IF_NOT_NULL
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGD_IF_NOT_NULL(log, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - log
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: LOGI_IF_NOT_NULL
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGI_IF_NOT_NULL(log, args...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rtp_dtime2time_ts64
      Src: /src/rtpproxy/src/rtp_analyze.c:127,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtp_analyze.c:129,1
    - Dst: ABS
      Src: /src/rtpproxy/src/rtp_analyze.c:151,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:154,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:155,1
    - Dst: ABS
      Src: /src/rtpproxy/src/rtp_analyze.c:155,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:156,1
    - Dst: ABS
      Src: /src/rtpproxy/src/rtp_analyze.c:167,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:170,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:171,1
    - Dst: ABS
      Src: /src/rtpproxy/src/rtp_analyze.c:171,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:172,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:184,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:185,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:186,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:187,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:187,1
    - Dst: ABS
      Src: /src/rtpproxy/src/rtp_analyze.c:189,1
    - Dst: RTPP_DBGCODE
      Src: /src/rtpproxy/src/rtp_analyze.c:195,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:196,1
    - Dst: T_printf
      Src: /src/rtpproxy/src/rtp_analyze.c:197,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtp_analyze.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 5
    argNames:
    - jdp
    - rinfo
    - rtime
    - hint
    - rlog
    argTypes:
    - struct rtp_analyze_jdata*
    - struct rtp_info*
    - double
    - int
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 206
    functionName: update_jitter_stats
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached:
    - T_printf
    - ABS
    - LOGD_IF_NOT_NULL
    - rtp_dtime2time_ts64
    - CALL_SMETHOD
    - RTPP_DBGCODE
    linkageType: ''
    returnType: void
    signature: "void update_jitter_stats(struct rtp_analyze_jdata *jdp, struct rtp_info
      *rinfo,\n  double rtime, int hint, struct rtpp_log *rlog)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:214,1
    - Dst: rtp_analyze_jt_ctor
      Src: /src/rtpproxy/src/rtp_analyze.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stat
    argTypes:
    - struct rtpp_session_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: rtpp_stats_init
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 1
    functionsReached:
    - rtp_analyze_jt_ctor
    - memset
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_init(struct rtpp_session_stat *stat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtp_analyze.c:228,1
    - Dst: rtpp_ringbuf_ctor
      Src: /src/rtpproxy/src/rtp_analyze.c:232,1
    - Dst: free
      Src: /src/rtpproxy/src/rtp_analyze.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: rtp_analyze_jdata_ctor
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_zmalloc
    - rtpp_ringbuf_ctor
    linkageType: ''
    returnType: struct rtp_analyze_jdata
    signature: 'struct rtp_analyze_jdata *

      rtp_analyze_jdata_ctor()'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtp_analyze.c:249,1
    - Dst: rtp_analyze_jdata_ctor
      Src: /src/rtpproxy/src/rtp_analyze.c:253,1
    - Dst: free
      Src: /src/rtpproxy/src/rtp_analyze.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 264
    functionName: rtp_analyze_jt_ctor
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 1
    functionsReached:
    - free
    - rtpp_zmalloc
    - rtp_analyze_jdata_ctor
    linkageType: ''
    returnType: struct rtp_analyze_jitter
    signature: 'struct rtp_analyze_jitter *

      rtp_analyze_jt_ctor()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_analyze_jt_destroy
      Src: /src/rtpproxy/src/rtp_analyze.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stat
    argTypes:
    - struct rtpp_session_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: rtpp_stats_destroy
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 1
    functionsReached:
    - rtp_analyze_jt_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_destroy(struct rtpp_session_stat *stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtp_analyze.c:283,1
    - Dst: free
      Src: /src/rtpproxy/src/rtp_analyze.c:284,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:287,1
    - Dst: free
      Src: /src/rtpproxy/src/rtp_analyze.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - jp
    argTypes:
    - struct rtp_analyze_jitter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: rtp_analyze_jt_destroy
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 1
    functionsReached:
    - free
    - RTPP_DBG_ASSERT
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtp_analyze_jt_destroy(struct rtp_analyze_jitter *jp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:315,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtp_analyze.c:320,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:329,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:330,1
    - Dst: rtp_analyze_jdata_ctor
      Src: /src/rtpproxy/src/rtp_analyze.c:333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - jp
    - ssrc
    argTypes:
    - struct rtp_analyze_jitter*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 344
    functionName: jdata_by_ssrc
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    - rtp_analyze_jdata_ctor
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct rtp_analyze_jdata
    signature: 'struct rtp_analyze_jdata *

      jdata_by_ssrc(struct rtp_analyze_jitter *jp, uint32_t ssrc)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: jdata_by_ssrc
      Src: /src/rtpproxy/src/rtp_analyze.c:357,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:361,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:362,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:363,1
    - Dst: update_jitter_stats
      Src: /src/rtpproxy/src/rtp_analyze.c:375,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtp_analyze.c:379,1
    - Dst: update_rtpp_totals
      Src: /src/rtpproxy/src/rtp_analyze.c:381,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:383,1
    - Dst: LOGI_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:385,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:396,1
    - Dst: update_jitter_stats
      Src: /src/rtpproxy/src/rtp_analyze.c:403,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:409,1
    - Dst: update_rtpp_totals
      Src: /src/rtpproxy/src/rtp_analyze.c:412,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:414,1
    - Dst: update_jitter_stats
      Src: /src/rtpproxy/src/rtp_analyze.c:424,1
    - Dst: update_jitter_stats
      Src: /src/rtpproxy/src/rtp_analyze.c:430,1
    - Dst: update_jitter_stats
      Src: /src/rtpproxy/src/rtp_analyze.c:432,1
    - Dst: ABS
      Src: /src/rtpproxy/src/rtp_analyze.c:436,1
    - Dst: rtp_ts2dtime
      Src: /src/rtpproxy/src/rtp_analyze.c:437,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:438,1
    - Dst: rtp_ts2dtime
      Src: /src/rtpproxy/src/rtp_analyze.c:440,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:447,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:453,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:455,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:458,1
    - Dst: update_rtpp_totals
      Src: /src/rtpproxy/src/rtp_analyze.c:461,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtp_analyze.c:463,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:476,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:484,1
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:500,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 135
    argCount: 5
    argNames:
    - rlog
    - stat
    - header
    - rinfo
    - rtime
    argTypes:
    - struct rtpp_log*
    - struct rtpp_session_stat*
    - rtp_hdr_t*
    - struct rtp_info*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 508
    functionName: update_rtpp_stats
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 1
    functionsReached:
    - update_rtpp_totals
    - ABS
    - jdata_by_ssrc
    - LOGD_IF_NOT_NULL
    - LOGI_IF_NOT_NULL
    - memset
    - rtp_ts2dtime
    - update_jitter_stats
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: enum update_rtpp_stats_rval
    signature: "enum update_rtpp_stats_rval update_rtpp_stats(struct rtpp_log *rlog,
      struct rtpp_session_stat *stat, rtp_hdr_t *header,\n  struct rtp_info *rinfo,
      double rtime)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wstat
    - ostat
    argTypes:
    - struct rtpp_session_stat*
    - struct rtpp_session_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: update_rtpp_totals
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_rtpp_totals(struct rtpp_session_stat *wstat, struct rtpp_session_stat
      *ostat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOGD_IF_NOT_NULL
      Src: /src/rtpproxy/src/rtp_analyze.c:540,1
    - Dst: MAX
      Src: /src/rtpproxy/src/rtp_analyze.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - jp
    - jst
    - rlog
    argTypes:
    - struct rtp_analyze_jitter*
    - struct rtpa_stats_jitter*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 563
    functionName: get_jitter_stats
    functionSourceFile: /src/rtpproxy/src/rtp_analyze.c
    functionUses: 1
    functionsReached:
    - LOGD_IF_NOT_NULL
    - MAX
    linkageType: ''
    returnType: int
    signature: "int get_jitter_stats(struct rtp_analyze_jitter *jp, struct rtpa_stats_jitter
      *jst,\n  struct rtpp_log *rlog)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - asize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: AAPI_FUNC
    functionSourceFile: /src/rtpproxy/src/rtpp_module_acct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AAPI_FUNC(fname, asize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_proc_servers.h:45,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_proc_servers.h:46,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_proc_servers.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_servers.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_proc_servers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_netaddr.c:83,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_netaddr.c:83,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_netaddr.c:87,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_netaddr.c:90,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:91,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netaddr.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 98
    functionName: rtpp_netaddr_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 3
    functionsReached:
    - pthread_mutex_init
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    - atomic_init
    linkageType: ''
    returnType: struct rtpp_netaddr
    signature: 'struct rtpp_netaddr *

      rtpp_netaddr_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:105,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:106,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:108,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_netaddr.c:109,1
    - Dst: atomic_store_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:110,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - self
    - addr
    - alen
    argTypes:
    - struct rtpp_netaddr*
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: rtpp_netaddr_set
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pthread_mutex_unlock
    - atomic_store_explicit
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_set(struct rtpp_netaddr *self, const struct sockaddr
      *addr, size_t alen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_netaddr_fin
      Src: /src/rtpproxy/src/rtpp_netaddr.c:118,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_netaddr.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_netaddr_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: rtpp_netaddr_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - rtpp_netaddr_fin
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_dtor(struct rtpp_netaddr_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:128,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:129,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_netaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: rtpp_netaddr_isempty
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: int rtpp_netaddr_isempty(struct rtpp_netaddr *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:141,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:142,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:143,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:144,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/rtpp_netaddr.c:149,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - self
    - sap
    - salen
    argTypes:
    - struct rtpp_netaddr*
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: rtpp_netaddr_cmp
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - pthread_mutex_unlock
    - memcmp
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_netaddr_cmp(struct rtpp_netaddr *self, const struct sockaddr
      *sap, size_t salen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:162,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:163,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:164,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:165,1
    - Dst: isaddrseq
      Src: /src/rtpproxy/src/rtpp_netaddr.c:166,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_netaddr.c:166,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - self
    - sap
    argTypes:
    - struct rtpp_netaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: rtpp_netaddr_isaddrseq
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - isaddrseq
    - sstosa
    - atomic_load_explicit
    - pthread_mutex_unlock
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_netaddr_isaddrseq(struct rtpp_netaddr *self, const struct
      sockaddr *sap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:178,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:179,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:180,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:181,1
    - Dst: ishostseq
      Src: /src/rtpproxy/src/rtpp_netaddr.c:182,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_netaddr.c:182,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - self
    - sap
    argTypes:
    - struct rtpp_netaddr*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: rtpp_netaddr_cmphost
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - sstosa
    - atomic_load_explicit
    - ishostseq
    - pthread_mutex_unlock
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_netaddr_cmphost(struct rtpp_netaddr *self, const struct sockaddr
      *sap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_netaddr.c:193,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_netaddr.c:193,1
    - Dst: rtpp_netaddr_set
      Src: /src/rtpproxy/src/rtpp_netaddr.c:194,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_netaddr.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - other
    argTypes:
    - struct rtpp_netaddr*
    - struct rtpp_netaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: rtpp_netaddr_copy
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - sstosa
    - CALL_SMETHOD
    - rtpp_netaddr_set
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_copy(struct rtpp_netaddr *self, struct rtpp_netaddr
      *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:203,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:204,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:205,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:206,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_netaddr.c:207,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - self
    - sap
    - salen
    argTypes:
    - struct rtpp_netaddr*
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: rtpp_netaddr_get
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - memcpy
    - pthread_mutex_unlock
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: size_t
    signature: size_t rtpp_netaddr_get(struct rtpp_netaddr *self, struct sockaddr
      *sap, size_t salen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:220,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:221,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_netaddr.c:222,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:223,1
    - Dst: addrport2char_r
      Src: /src/rtpproxy/src/rtpp_netaddr.c:224,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_netaddr.c:224,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_netaddr.c:225,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_netaddr.c:226,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_netaddr.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - self
    - buf
    - blen
    - portsep
    argTypes:
    - struct rtpp_netaddr*
    - char*
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: rtpp_netaddr_sip_print
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.c
    functionUses: 0
    functionsReached:
    - sstosa
    - atomic_load_explicit
    - addrport2char_r
    - pthread_mutex_unlock
    - strlen
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: size_t
    signature: "size_t rtpp_netaddr_sip_print(struct rtpp_netaddr *self, char *buf,
      size_t blen,\n  char portsep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:50,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:51,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:52,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:53,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:54,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:55,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:56,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_netaddr.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_netaddr.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_netaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_refproxy.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_refproxy.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_refproxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: RTPP_DBG_ASSERT
    functionSourceFile: /src/rtpproxy/src/rtpp_debug.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_DBG_ASSERT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/rtpp_debug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_DBGCODE(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_netio_async.c:102,1
    - Dst: rtpp_queue_get_items
      Src: /src/rtpproxy/src/rtpp_netio_async.c:105,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_netio_async.c:107,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netio_async.c:112,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:114,1
    - Dst: sendto
      Src: /src/rtpproxy/src/rtpp_netio_async.c:121,1
    - Dst: addrport2char_r
      Src: /src/rtpproxy/src/rtpp_netio_async.c:128,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:130,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:135,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:141,1
    - Dst: sched_yield
      Src: /src/rtpproxy/src/rtpp_netio_async.c:155,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:162,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_netio_async.c:166,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:169,1
    - Dst: recfilter_apply
      Src: /src/rtpproxy/src/rtpp_netio_async.c:173,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct sthread_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 181
    functionName: rtpp_anetio_sthread
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 0
    functionsReached:
    - getdtime
    - RTPP_ELOG
    - rtpp_queue_get_items
    - recfilter_apply
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - sched_yield
    - PUB2PVT
    - sendto
    - addrport2char_r
    linkageType: ''
    returnType: void
    signature: void rtpp_anetio_sthread(struct sthread_args *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netio_async.c:188,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:192,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:194,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - netio_cf
    - wi
    argTypes:
    - struct rtpp_anetio_cf*
    - struct rtpp_wi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 200
    functionName: rtpp_anetio_sendto_debug
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - PUB2PVT
    - RTPP_LOG
    linkageType: ''
    returnType: void
    signature: void rtpp_anetio_sendto_debug(struct rtpp_anetio_cf *netio_cf, struct
      rtpp_wi *wi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc
      Src: /src/rtpproxy/src/rtpp_netio_async.c:208,1
    - Dst: rtpp_anetio_sendto_debug
      Src: /src/rtpproxy/src/rtpp_netio_async.c:212,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_netio_async.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - netio_cf
    - sock
    - msg
    - msg_len
    - flags
    - sendto
    - tolen
    argTypes:
    - struct rtpp_anetio_cf*
    - int
    - void*
    - size_t
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: rtpp_anetio_sendto
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 0
    functionsReached:
    - rtpp_wi_malloc
    - rtpp_queue_put_item
    - rtpp_anetio_sendto_debug
    linkageType: ''
    returnType: int
    signature: "int rtpp_anetio_sendto(struct rtpp_anetio_cf *netio_cf, int sock,
      const void *msg, \\\n  size_t msg_len, int flags, const struct sockaddr *sendto,
      socklen_t tolen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_na
      Src: /src/rtpproxy/src/rtpp_netio_async.c:224,1
    - Dst: rtpp_anetio_sendto_debug
      Src: /src/rtpproxy/src/rtpp_netio_async.c:228,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_netio_async.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - netio_cf
    - sock
    - msg
    - msg_len
    - flags
    - sendto
    - tolen
    - data_rcnt
    argTypes:
    - struct rtpp_anetio_cf*
    - int
    - void*
    - size_t
    - int
    - struct sockaddr*
    - socklen_t
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: rtpp_anetio_sendto_na
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 1
    functionsReached:
    - rtpp_anetio_sendto_debug
    - rtpp_wi_malloc_na
    - rtpp_queue_put_item
    linkageType: ''
    returnType: int
    signature: "int rtpp_anetio_sendto_na(struct rtpp_anetio_cf *netio_cf, int sock,
      const void *msg, \\\n  size_t msg_len, int flags, const struct sockaddr *sendto,
      socklen_t tolen, \\\n  struct rtpp_refcnt *data_rcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_pump
      Src: /src/rtpproxy/src/rtpp_netio_async.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - netio_cf
    argTypes:
    - struct rtpp_anetio_cf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: rtpp_anetio_pump
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 1
    functionsReached:
    - rtpp_queue_pump
    linkageType: ''
    returnType: void
    signature: void rtpp_anetio_pump(struct rtpp_anetio_cf *netio_cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_pump
      Src: /src/rtpproxy/src/rtpp_netio_async.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sender
    argTypes:
    - struct sthread_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: rtpp_anetio_pump_q
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 2
    functionsReached:
    - rtpp_queue_pump
    linkageType: ''
    returnType: void
    signature: void rtpp_anetio_pump_q(struct sthread_args *sender)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_wi_malloc_pkt_na
      Src: /src/rtpproxy/src/rtpp_netio_async.c:261,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:263,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_netio_async.c:272,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:277,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_netio_async.c:279,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_netio_async.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 6
    argNames:
    - sender
    - sock
    - sendto
    - pkt
    - sock_rcnt
    - plog
    argTypes:
    - struct sthread_args*
    - int
    - struct rtpp_netaddr*
    - struct rtp_packet*
    - struct rtpp_refcnt*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 284
    functionName: rtpp_anetio_send_pkt_na
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 1
    functionsReached:
    - rtpp_queue_put_item
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - RTPP_LOG
    - rtpp_wi_malloc_pkt_na
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: "int rtpp_anetio_send_pkt_na(struct sthread_args *sender, int sock,
      \\\n  struct rtpp_netaddr *sendto, struct rtp_packet *pkt,\n  struct rtpp_refcnt
      *sock_rcnt, struct rtpp_log *plog)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_netio_async.c:293,1
    - Dst: rtpp_queue_get_length
      Src: /src/rtpproxy/src/rtpp_netio_async.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - netio_cf
    argTypes:
    - struct rtpp_anetio_cf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 305
    functionName: rtpp_anetio_pick_sender
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 3
    functionsReached:
    - rtpp_queue_get_length
    linkageType: ''
    returnType: struct sthread_args
    signature: 'struct sthread_args *

      rtpp_anetio_pick_sender(struct rtpp_anetio_cf *netio_cf)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_netio_async.c:313,1
    - Dst: rtpp_queue_init
      Src: /src/rtpproxy/src/rtpp_netio_async.c:318,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_netio_async.c:321,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:322,1
    - Dst: rtpp_queue_setqlen
      Src: /src/rtpproxy/src/rtpp_netio_async.c:326,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:327,1
    - Dst: recfilter_init
      Src: /src/rtpproxy/src/rtpp_netio_async.c:331,1
    - Dst: rtpp_wi_malloc_sgnl
      Src: /src/rtpproxy/src/rtpp_netio_async.c:336,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:339,1
    - Dst: pthread_create
      Src: /src/rtpproxy/src/rtpp_netio_async.c:346,1
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_netio_async.c:348,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_netio_async.c:349,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:352,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_netio_async.c:357,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:366,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_netio_async.c:371,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:372,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_netio_async.c:375,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - cfsp
    - qlen
    argTypes:
    - struct rtpp_cfg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 377
    functionName: rtpp_netio_async_init
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 1
    functionsReached:
    - pthread_setname_np
    - rtpp_zmalloc
    - rtpp_queue_destroy
    - recfilter_init
    - free
    - rtpp_queue_put_item
    - rtpp_queue_setqlen
    - rtpp_wi_malloc_sgnl
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - pthread_join
    - pthread_create
    - rtpp_queue_init
    linkageType: ''
    returnType: struct rtpp_anetio_cf
    signature: 'struct rtpp_anetio_cf *

      rtpp_netio_async_init(const struct rtpp_cfg *cfsp, int qlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_queue_put_item
      Src: /src/rtpproxy/src/rtpp_netio_async.c:385,1
    - Dst: pthread_join
      Src: /src/rtpproxy/src/rtpp_netio_async.c:388,1
    - Dst: rtpp_queue_destroy
      Src: /src/rtpproxy/src/rtpp_netio_async.c:389,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_netio_async.c:390,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_netio_async.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - netio_cf
    argTypes:
    - struct rtpp_anetio_cf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 393
    functionName: rtpp_netio_async_destroy
    functionSourceFile: /src/rtpproxy/src/rtpp_netio_async.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_queue_destroy
    - rtpp_queue_put_item
    - RTPP_OBJ_DECREF
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void rtpp_netio_async_destroy(struct rtpp_anetio_cf *netio_cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_sessinfo.h:71,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_sessinfo.h:72,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_sessinfo.h:73,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_sessinfo.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_sessinfo.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_sessinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rcsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: RTPP_CTRL_ISDG
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_CTRL_ISDG(rcsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rcsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: RTPP_CTRL_ISUNIX
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_CTRL_ISUNIX(rcsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rcsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: RTPP_CTRL_ISSTREAM
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_CTRL_ISSTREAM(rcsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rcsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: RTPP_CTRL_ACCEPTABLE
    functionSourceFile: /src/rtpproxy/src/rtpp_controlfd.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_CTRL_ACCEPTABLE(rcsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_modman.c:64,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_modman.c:64,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_modman.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: rtpp_modman_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_modman
    signature: 'struct rtpp_modman *

      rtpp_modman_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_modman_fin
      Src: /src/rtpproxy/src/rtpp_modman.c:86,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_modman.c:87,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_modman.c:88,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_modman.c:89,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_modman.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_modman_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: rtpp_modman_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 0
    functionsReached:
    - rtpp_modman_fin
    - RTPP_OBJ_DECREF
    - RTPP_LIST_HEAD
    - RTPP_ITER_NEXT
    - CALL_METHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_dtor(struct rtpp_modman_priv *pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_modman.c:99,1
    - Dst: rtpp_list_append
      Src: /src/rtpproxy/src/rtpp_modman.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - self
    - mif
    argTypes:
    - struct rtpp_modman*
    - struct rtpp_module_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: rtpp_modman_insert
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - rtpp_list_append
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_insert(struct rtpp_modman *self, struct rtpp_module_if
      *mif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_modman.c:114,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_modman.c:115,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_modman.c:115,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_modman.c:116,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_modman.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - self
    - cfp
    - failedmod
    argTypes:
    - struct rtpp_modman*
    - struct rtpp_cfg*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: rtpp_modman_startall
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 0
    functionsReached:
    - RTPP_ITER_NEXT
    - PUB2PVT
    - CALL_METHOD
    - RTPP_LIST_HEAD
    linkageType: ''
    returnType: int
    signature: "int rtpp_modman_startall(struct rtpp_modman *self, const struct rtpp_cfg
      *cfp,\n  const char **failedmod)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_modman.c:136,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_modman.c:137,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_modman.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - self
    - module_id
    argTypes:
    - struct rtpp_modman*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: rtpp_modman_get_next_id
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 0
    functionsReached:
    - RTPP_ITER_NEXT
    - PUB2PVT
    - RTPP_LIST_HEAD
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rtpp_modman_get_next_id(struct rtpp_modman *self, unsigned
      int module_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_modman.c:150,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_modman.c:151,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_modman.c:152,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_modman.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - self
    - ap
    argTypes:
    - struct rtpp_modman*
    - struct rtpp_acct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: rtpp_modman_do_acct
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 0
    functionsReached:
    - RTPP_ITER_NEXT
    - PUB2PVT
    - CALL_METHOD
    - RTPP_LIST_HEAD
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_do_acct(struct rtpp_modman *self, struct rtpp_acct
      *ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_modman.c:164,1
    - Dst: RTPP_LIST_HEAD
      Src: /src/rtpproxy/src/rtpp_modman.c:165,1
    - Dst: RTPP_ITER_NEXT
      Src: /src/rtpproxy/src/rtpp_modman.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - self
    - mod_id
    - inst_id
    - ashp
    argTypes:
    - struct rtpp_modman*
    - unsigned int
    - unsigned int
    - struct after_success_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: rtpp_modman_get_ul_subc_h
    functionSourceFile: /src/rtpproxy/src/rtpp_modman.c
    functionUses: 0
    functionsReached:
    - RTPP_ITER_NEXT
    - PUB2PVT
    - RTPP_LIST_HEAD
    linkageType: ''
    returnType: int
    signature: "int rtpp_modman_get_ul_subc_h(struct rtpp_modman *self, unsigned int
      mod_id,\n  unsigned int inst_id, struct after_success_h *ashp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_list.h:46,1
    - Dst: RTPP_TYPE_IS_LINKABLE
      Src: /src/rtpproxy/src/rtpp_list.h:46,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_list.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lst
    - p
    argTypes:
    - struct rtpp_list*
    - void*
    assertStmts:
    - condition: (RTPP_TYPE_IS_LINKABLE(elem))
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_list.h
    - condition: (elem->next == NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_list.h
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: rtpp_list_append
    functionSourceFile: /src/rtpproxy/src/rtpp_list.h
    functionUses: 2
    functionsReached:
    - RTPP_TYPE_IS_LINKABLE
    - assert
    linkageType: ''
    returnType: void
    signature: void rtpp_list_append(struct rtpp_list *lst, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: RTPP_LIST_RESET
    functionSourceFile: /src/rtpproxy/src/rtpp_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_LIST_RESET(lst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: RTPP_LIST_HEAD
    functionSourceFile: /src/rtpproxy/src/rtpp_list.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_LIST_HEAD(lst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - slp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: RTPP_LIST_IS_EMPTY
    functionSourceFile: /src/rtpproxy/src/rtpp_list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_LIST_IS_EMPTY(slp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: RTPP_ITER_NEXT
    functionSourceFile: /src/rtpproxy/src/rtpp_list.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_ITER_NEXT(stlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: GLITCH_ACTION
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLITCH_ACTION(mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TRIG_CHCK1
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIG_CHCK1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: TRIG_CHCK2
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIG_CHCK2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: TRIG_CHCK3
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIG_CHCK3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mlp
    - ','
    - ghlabel
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: GLITCH_INJECT_IF
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLITCH_INJECT_IF(mlp, ghlabel, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mlp
    - ','
    - ghlabel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: GLITCH_INJECT
    functionSourceFile: /src/rtpproxy/src/rtpp_glitch.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLITCH_INJECT(mlp, ghlabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:46,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sbuf.c:47,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_sbuf.c:48,1
    - Dst: vsnprintf
      Src: /src/rtpproxy/src/rtpp_sbuf.c:49,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_sbuf.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sbp
    - format
    argTypes:
    - struct rtpp_sbuf*
    - char*
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_sbuf.c
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: rtpp_sbuf_write
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 1
    functionsReached:
    - RS_ULEN
    - va_start
    - assert
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int rtpp_sbuf_write(struct rtpp_sbuf *sbp, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_sbuf.c:71,1
    - Dst: rtpp_memdeb_malloc
      Src: /src/rtpproxy/src/rtpp_sbuf.c:73,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_sbuf.c:77,1
    - Dst: malloc
      Src: /src/rtpproxy/src/rtpp_sbuf.c:79,1
    - Dst: rtpp_memdeb_malloc
      Src: /src/rtpproxy/src/rtpp_sbuf.c:81,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sbuf.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ilen
    - memdeb_p
    - mlp
    argTypes:
    - int
    - void*
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 90
    functionName: _rtpp_sbuf_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    - malloc
    - rtpp_memdeb_malloc
    linkageType: ''
    returnType: void
    signature: void _rtpp_sbuf_ctor(int ilen, void *memdeb_p, const struct rtpp_codeptr
      *mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sbuf.c:101,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_sbuf.c:102,1
    - Dst: rtpp_memdeb_free
      Src: /src/rtpproxy/src/rtpp_sbuf.c:104,1
    - Dst: rtpp_memdeb_free
      Src: /src/rtpproxy/src/rtpp_sbuf.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sbp
    - memdeb_p
    - mlp
    argTypes:
    - struct rtpp_sbuf*
    - void*
    - struct rtpp_codeptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: _rtpp_sbuf_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_memdeb_free
    linkageType: ''
    returnType: void
    signature: void _rtpp_sbuf_dtor(struct rtpp_sbuf *sbp, void *memdeb_p, const struct
      rtpp_codeptr *mlp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_sbuf.c:118,1
    - Dst: realloc
      Src: /src/rtpproxy/src/rtpp_sbuf.c:120,1
    - Dst: rtpp_memdeb_realloc
      Src: /src/rtpproxy/src/rtpp_sbuf.c:122,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - sbp
    - nlen
    - memdeb_p
    - mlp
    argTypes:
    - struct rtpp_sbuf*
    - int
    - void*
    - struct rtpp_codeptr*
    assertStmts:
    - condition: (nlen > sbp->alen)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/rtpproxy/src/rtpp_sbuf.c
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: _rtpp_sbuf_extend
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 0
    functionsReached:
    - realloc
    - RS_ULEN
    - assert
    - rtpp_memdeb_realloc
    linkageType: ''
    returnType: void
    signature: void _rtpp_sbuf_extend(struct rtpp_sbuf *sbp, int nlen, void *memdeb_p,
      const struct rtpp_codeptr *mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: errx_ifnot
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: errx_ifnot(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/src/rtpp_sbuf.c:165,1
    - Dst: rtpp_sbuf_ctor
      Src: /src/rtpproxy/src/rtpp_sbuf.c:167,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:168,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:169,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:170,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:171,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:171,1
    - Dst: rtpp_sbuf_write
      Src: /src/rtpproxy/src/rtpp_sbuf.c:172,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:173,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:174,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:175,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_sbuf.c:175,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:176,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:176,1
    - Dst: rtpp_sbuf_write
      Src: /src/rtpproxy/src/rtpp_sbuf.c:177,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:178,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:179,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:180,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_sbuf.c:180,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:181,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:181,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:182,1
    - Dst: rtpp_sbuf_extend
      Src: /src/rtpproxy/src/rtpp_sbuf.c:182,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:183,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:183,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:184,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_sbuf.c:184,1
    - Dst: rtpp_sbuf_write
      Src: /src/rtpproxy/src/rtpp_sbuf.c:185,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:186,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:187,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:187,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:188,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/rtpp_sbuf.c:188,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:190,1
    - Dst: rtpp_sbuf_extend
      Src: /src/rtpproxy/src/rtpp_sbuf.c:190,1
    - Dst: rtpp_sbuf_write
      Src: /src/rtpproxy/src/rtpp_sbuf.c:191,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:195,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:196,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:196,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:197,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:197,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:198,1
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_sbuf.c:198,1
    - Dst: RS_ULEN
      Src: /src/rtpproxy/src/rtpp_sbuf.c:199,1
    - Dst: rtpp_sbuf_reset
      Src: /src/rtpproxy/src/rtpp_sbuf.c:200,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:201,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:202,1
    - Dst: errx_ifnot
      Src: /src/rtpproxy/src/rtpp_sbuf.c:203,1
    - Dst: rtpp_sbuf_dtor
      Src: /src/rtpproxy/src/rtpp_sbuf.c:204,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/src/rtpp_sbuf.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 208
    functionName: rtpp_sbuf_selftest
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 0
    functionsReached:
    - errx_ifnot
    - strncmp
    - rtpp_sbuf_reset
    - RS_ULEN
    - rtpp_sbuf_ctor
    - strcmp
    - rtpp_sbuf_dtor
    - rtpp_sbuf_write
    - rtpp_memdeb_dumpstats
    - RTPP_MEMDEB_APP_INIT
    - rtpp_sbuf_extend
    linkageType: ''
    returnType: int
    signature: int rtpp_sbuf_selftest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sbp
    argTypes:
    - struct rtpp_sbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: rtpp_sbuf_reset
    functionSourceFile: /src/rtpproxy/src/rtpp_sbuf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtpp_sbuf_reset(struct rtpp_sbuf *sbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_proc_wakeup.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_wakeup.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_proc_wakeup)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - x
    argTypes:
    - struct recfilter*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: recfilter_apply
    functionSourceFile: /src/rtpproxy/src/rtpp_math.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double recfilter_apply(struct recfilter *f, double x)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - x
    argTypes:
    - struct recfilter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: recfilter_apply_int
    functionSourceFile: /src/rtpproxy/src/rtpp_math.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double recfilter_apply_int(struct recfilter *f, int x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - f
    - fcoef
    - initval
    - peak_detect
    argTypes:
    - struct recfilter*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: recfilter_init
    functionSourceFile: /src/rtpproxy/src/rtpp_math.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void recfilter_init(struct recfilter *f, double fcoef, double initval,
      int peak_detect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: rtpp_ip_chksum_start
    functionSourceFile: /src/rtpproxy/src/rtpp_ip_chksum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_ip_chksum_start()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: rtpp_ip_chksum_update
    functionSourceFile: /src/rtpproxy/src/rtpp_ip_chksum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_ip_chksum_update(dp, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: rtpp_ip_chksum_update_data
    functionSourceFile: /src/rtpproxy/src/rtpp_ip_chksum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_ip_chksum_update_data(dp, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: rtpp_ip_chksum_pad_v4
    functionSourceFile: /src/rtpproxy/src/rtpp_ip_chksum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_ip_chksum_pad_v4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: rtpp_ip_chksum_pad_v6
    functionSourceFile: /src/rtpproxy/src/rtpp_ip_chksum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_ip_chksum_pad_v6()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - osum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: rtpp_ip_chksum_fin
    functionSourceFile: /src/rtpproxy/src/rtpp_ip_chksum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_ip_chksum_fin(osum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:75,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:76,1
    - Dst: ishostseq
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:79,1
    - Dst: rtpp_str_match
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:81,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:83,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:87,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:89,1
    - Dst: strerror
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:90,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:94,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:94,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:95,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - pub
    - ia
    - ep
    - params
    argTypes:
    - struct rtpp_bindaddrs*
    - struct sockaddr*
    - char**
    - struct rtpp_bindaddr_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: addr2bindaddr_i
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - rtpp_zmalloc
    - SA_LEN
    - strerror
    - rtpp_str_match
    - memcpy
    - ishostseq
    - sstosa
    - pthread_mutex_unlock
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_bindaddr
    signature: "struct rtpp_bindaddr *\naddr2bindaddr_i(struct rtpp_bindaddrs *pub,
      const struct sockaddr *ia,\n  const char **ep, const struct rtpp_bindaddr_params
      *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addr2bindaddr_i
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pub
    - ia
    - ep
    argTypes:
    - struct rtpp_bindaddrs*
    - struct sockaddr*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: addr2bindaddr
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - addr2bindaddr_i
    linkageType: ''
    returnType: struct rtpp_bindaddr
    signature: "struct rtpp_bindaddr *\naddr2bindaddr(struct rtpp_bindaddrs *pub,
      const struct sockaddr *ia,\n  const char **ep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:119,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:120,1
    - Dst: rtpp_str_match
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:123,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pub
    - label
    argTypes:
    - struct rtpp_bindaddrs*
    - rtpp_str_const_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: label2bindaddr
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - rtpp_str_match
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_bindaddr
    signature: 'struct rtpp_bindaddr *

      label2bindaddr(struct rtpp_bindaddrs *pub, const rtpp_str_const_t *label)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: label2bindaddr
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:138,1
    - Dst: is_wildcard
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:147,1
    - Dst: is_numhost
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:151,1
    - Dst: resolve
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:156,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:156,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:157,1
    - Dst: addr2bindaddr_i
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:160,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - pub
    - host
    - pf
    - ai_flags
    - ep
    - params
    argTypes:
    - struct rtpp_bindaddrs*
    - char*
    - int
    - int
    - char**
    - struct rtpp_bindaddr_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: host2bindaddr
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - resolve
    - gai_strerror
    - sstosa
    - label2bindaddr
    - is_wildcard
    - addr2bindaddr_i
    - is_numhost
    linkageType: ''
    returnType: struct rtpp_bindaddr
    signature: "struct rtpp_bindaddr *\nhost2bindaddr(struct rtpp_bindaddrs *pub,
      const char *host, int pf,\n  int ai_flags, const char **ep, const struct rtpp_bindaddr_params
      *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:170,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:171,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:174,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pub
    - af
    argTypes:
    - struct rtpp_bindaddrs*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: bindaddr4af
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct rtpp_bindaddr
    signature: 'struct rtpp_bindaddr *

      bindaddr4af(struct rtpp_bindaddrs *pub, int af)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:189,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cf
    argTypes:
    - struct rtpp_bindaddrs_pvt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: rtpp_bindaddrs_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_bindaddrs_dtor(struct rtpp_bindaddrs_pvt *cf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resolve
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:203,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:203,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:205,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:206,1
    - Dst: local4remote
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:209,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:209,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:210,1
    - Dst: addr2bindaddr
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:214,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:214,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - pub
    - cfsp
    - log
    - pf
    - host
    - port
    argTypes:
    - struct rtpp_bindaddrs*
    - struct rtpp_cfg*
    - struct rtpp_log*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 220
    functionName: rtpp_bindaddrs_local4remote
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 0
    functionsReached:
    - resolve
    - gai_strerror
    - sstosa
    - RTPP_LOG
    - addr2bindaddr
    - local4remote
    linkageType: ''
    returnType: struct rtpp_bindaddr
    signature: "struct rtpp_bindaddr *\nrtpp_bindaddrs_local4remote(struct rtpp_bindaddrs
      *pub, const struct rtpp_cfg *cfsp,\n  struct rtpp_log *log, int pf, const char
      *host, const char *port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:235,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:235,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:238,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:240,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_bindaddrs.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: rtpp_bindaddrs_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_bindaddrs.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_init
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_bindaddrs
    signature: 'struct rtpp_bindaddrs *

      rtpp_bindaddrs_ctor(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: getdstat
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      getdstat(void *p, int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sp
    argTypes:
    - struct rtpp_stat_descr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: count_rtpp_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_rtpp_stats(struct rtpp_stat_descr *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sp
    argTypes:
    - struct rtpp_stat_descr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: count_rtpp_stats_derived
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_rtpp_stats_derived(struct rtpp_stat_descr *sp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_stats.c:201,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_stats.c:201,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_stats.c:207,1
    - Dst: count_rtpp_stats
      Src: /src/rtpproxy/src/rtpp_stats.c:208,1
    - Dst: count_rtpp_stats_derived
      Src: /src/rtpproxy/src/rtpp_stats.c:212,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtpp_stats.c:214,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_stats.c:221,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_stats.c:224,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_stats.c:230,1
    - Dst: rtpp_pearson_perfect_ctor
      Src: /src/rtpproxy/src/rtpp_stats.c:236,1
    - Dst: rtpp_stats_getidxbyname
      Src: /src/rtpproxy/src/rtpp_stats.c:245,1
    - Dst: rtpp_stats_getidxbyname
      Src: /src/rtpproxy/src/rtpp_stats.c:247,1
    - Dst: getdtime
      Src: /src/rtpproxy/src/rtpp_stats.c:250,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_stats.c:252,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_stats.c:256,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_stats.c:257,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stats.c:259,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 262
    functionName: rtpp_stats_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 2
    functionsReached:
    - getdtime
    - rtpp_zmalloc
    - rtpp_pearson_perfect_ctor
    - free
    - pthread_mutex_init
    - count_rtpp_stats
    - PUBINST_FININIT
    - pthread_mutex_destroy
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_stats_getidxbyname
    - rtpp_rzmalloc
    - atomic_init
    - count_rtpp_stats_derived
    linkageType: ''
    returnType: struct rtpp_stats
    signature: 'struct rtpp_stats *

      rtpp_stats_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stats.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - struct rtpp_stats*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: rtpp_stats_getidxbyname
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 1
    functionsReached:
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_getidxbyname(struct rtpp_stats *self, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_stats.c:285,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stats.c:287,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stats.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - self
    - idx
    - type
    - argp
    argTypes:
    - struct rtpp_stats*
    - int
    - enum rtpp_cnt_type
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: rtpp_stats_updatebyidx_internal
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_stats_updatebyidx_internal(struct rtpp_stats *self, int idx,\n
      \ enum rtpp_cnt_type type, void *argp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stats_updatebyidx_internal
      Src: /src/rtpproxy/src/rtpp_stats.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - idx
    - incr
    argTypes:
    - struct rtpp_stats*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: rtpp_stats_updatebyidx
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - rtpp_stats_updatebyidx_internal
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_updatebyidx(struct rtpp_stats *self, int idx, uint64_t
      incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stats_getidxbyname
      Src: /src/rtpproxy/src/rtpp_stats.c:306,1
    - Dst: rtpp_stats_updatebyidx_internal
      Src: /src/rtpproxy/src/rtpp_stats.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - self
    - name
    - incr
    argTypes:
    - struct rtpp_stats*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: rtpp_stats_updatebyname
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - rtpp_stats_getidxbyname
    - rtpp_stats_updatebyidx_internal
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_updatebyname(struct rtpp_stats *self, const char *name,
      uint64_t incr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stats_getidxbyname
      Src: /src/rtpproxy/src/rtpp_stats.c:315,1
    - Dst: rtpp_stats_updatebyidx_internal
      Src: /src/rtpproxy/src/rtpp_stats.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - self
    - name
    - incr
    argTypes:
    - struct rtpp_stats*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: rtpp_stats_updatebyname_d
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - rtpp_stats_getidxbyname
    - rtpp_stats_updatebyidx_internal
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_updatebyname_d(struct rtpp_stats *self, const char *name,
      double incr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stats_getidxbyname
      Src: /src/rtpproxy/src/rtpp_stats.c:327,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stats.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - struct rtpp_stats*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: rtpp_stats_getlvalbyname
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - rtpp_stats_getidxbyname
    linkageType: ''
    returnType: int64_t
    signature: int64_t rtpp_stats_getlvalbyname(struct rtpp_stats *self, const char
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_stats_getidxbyname
      Src: /src/rtpproxy/src/rtpp_stats.c:346,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stats.c:353,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stats.c:354,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stats.c:356,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stats.c:358,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_stats.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - self
    - name
    - rrp
    argTypes:
    - struct rtpp_stats*
    - char*
    - struct rtpc_reply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: rtpp_stats_nstr
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - rtpp_stats_getidxbyname
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_nstr(struct rtpp_stats *self, const char *name, struct
      rtpc_reply *rrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_stats.c:374,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_stats.c:376,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_stats.c:378,1
    - Dst: free
      Src: /src/rtpproxy/src/rtpp_stats.c:380,1
    - Dst: rtpp_stats_fin
      Src: /src/rtpproxy/src/rtpp_stats.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fp
    argTypes:
    - struct rtpp_stats_full*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 382
    functionName: rtpp_stats_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_stats_fin
    - RTPP_OBJ_DECREF
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_dtor(struct rtpp_stats_full *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: rtpp_stats_getnstats
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtpp_stats_getnstats(struct rtpp_stats *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_stats.c:403,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_stats.c:407,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stats.c:411,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stats.c:413,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_stats.c:416,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_stats.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - self
    - dtime
    argTypes:
    - struct rtpp_stats*
    - double
    assertStmts:
    - condition: (dst->last_ts < dtime)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/rtpproxy/src/rtpp_stats.c
    constantsTouched: []
    func_position:
      end: 421
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 421
    functionName: rtpp_stats_update_derived
    functionSourceFile: /src/rtpproxy/src/rtpp_stats.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - assert
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_update_derived(struct rtpp_stats *self, double dtime)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rmalloc
      Src: /src/rtpproxy/src/rtpp_wi_data.c:51,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_data.c:51,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_wi_data.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dataptr
    - datalen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: rtpp_wi_malloc_data
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_data.c
    functionUses: 1
    functionsReached:
    - rtpp_rmalloc
    - memcpy
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_wi_malloc_data(void *dataptr, size_t datalen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rmalloc
      Src: /src/rtpproxy/src/rtpp_wi_data.c:71,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_wi_data.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dataptr
    - datalen
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: rtpp_wi_malloc_udata
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_data.c
    functionUses: 6
    functionsReached:
    - rtpp_rmalloc
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtpp_wi_malloc_udata(void **dataptr, size_t datalen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_data.c:91,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_wi_data.c:92,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_data.c:93,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_wi_data.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wi
    - min_len
    - max_len
    argTypes:
    - struct rtpp_wi*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: rtpp_wi_data_get_ptr
    functionSourceFile: /src/rtpproxy/src/rtpp_wi_data.c
    functionUses: 11
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: 'void *

      rtpp_wi_data_get_ptr(struct rtpp_wi *wi, size_t min_len, size_t max_len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: rtpp_wi_get_type
    functionSourceFile: /src/rtpproxy/src/rtpp_wi.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rtpp_wi_get_type(wip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: CBP
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBP(pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CBL
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBL(pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pvt
    - ','
    - fin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: CBRL
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBRL(pvt, fin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: CBP_C
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBP_C(pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: CBL_C
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBL_C(pvt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_command_reply.c:114,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_command_reply.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct rtpp_command_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: rtpc_reply_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpc_reply
    signature: 'struct rtpc_reply *

      rtpc_reply_ctor(const struct rtpp_command_ctx *ctx)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:134,1
    - Dst: CBL_C
      Src: /src/rtpproxy/src/rtpp_command_reply.c:136,1
    - Dst: CBP_C
      Src: /src/rtpproxy/src/rtpp_command_reply.c:136,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_reply.c:137,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_reply.c:140,1
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_command_reply.c:144,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:145,1
    - Dst: IS_WEIRD_ERRNO
      Src: /src/rtpproxy/src/rtpp_command_reply.c:145,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/rtpp_command_reply.c:150,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/rtpp_command_reply.c:150,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_command_reply.c:153,1
    - Dst: rtpp_anetio_sendto_na
      Src: /src/rtpproxy/src/rtpp_command_reply.c:154,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_command_reply.c:155,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_command_reply.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - self
    - errd
    argTypes:
    - struct rtpc_reply*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 167
    functionName: rtpc_reply_deliver
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - rtpp_anetio_sendto_na
    - write
    - CBP_C
    - CALL_METHOD
    - CBL_C
    - sstosa
    - RTPP_OBJ_DECREF
    - rtpp_str_fix
    - RTPP_LOG
    - RTPP_OBJ_INCREF
    - IS_WEIRD_ERRNO
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver(struct rtpc_reply *self, int errd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:174,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_command_reply.c:176,1
    - Dst: rtpc_reply_appendf
      Src: /src/rtpproxy/src/rtpp_command_reply.c:176,1
    - Dst: rtpc_reply_deliver
      Src: /src/rtpproxy/src/rtpp_command_reply.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - self
    - number
    argTypes:
    - struct rtpc_reply*
    - int
    assertStmts:
    - condition: (rtpc_reply_appendf(self, "%d\n", number) == 0)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/rtpproxy/src/rtpp_command_reply.c
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: rtpc_reply_deliver_number
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - assert
    - rtpc_reply_appendf
    - rtpc_reply_deliver
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_number(struct rtpc_reply *self, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpc_reply_appendf
      Src: /src/rtpproxy/src/rtpp_command_reply.c:186,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/rtpp_command_reply.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - self
    - sap
    - port
    - pf
    argTypes:
    - struct rtpc_reply*
    - rtpp_str_const_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: rtpc_reply_append_port_addr_s
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - FMTSTR
    - rtpc_reply_appendf
    linkageType: ''
    returnType: int
    signature: int rtpc_reply_append_port_addr_s(struct rtpc_reply *self, const rtpp_str_const_t
      *sap, int port, int pf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addr2char_r
      Src: /src/rtpproxy/src/rtpp_command_reply.c:197,1
    - Dst: rtpp_str_const_i
      Src: /src/rtpproxy/src/rtpp_command_reply.c:198,1
    - Dst: rtpc_reply_append_port_addr_s
      Src: /src/rtpproxy/src/rtpp_command_reply.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - self
    - sa
    - port
    argTypes:
    - struct rtpc_reply*
    - struct rtpp_bindaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: rtpc_reply_append_port_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - rtpc_reply_append_port_addr_s
    - addr2char_r
    - rtpp_str_const_i
    linkageType: ''
    returnType: int
    signature: int rtpc_reply_append_port_addr(struct rtpc_reply *self, const struct
      rtpp_bindaddr *sa, int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:210,1
    - Dst: rtpc_reply_append_port_addr
      Src: /src/rtpproxy/src/rtpp_command_reply.c:213,1
    - Dst: rtpc_reply_append
      Src: /src/rtpproxy/src/rtpp_command_reply.c:216,1
    - Dst: rtpc_reply_commit
      Src: /src/rtpproxy/src/rtpp_command_reply.c:219,1
    - Dst: rtpc_reply_deliver
      Src: /src/rtpproxy/src/rtpp_command_reply.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - self
    - sa
    - port
    argTypes:
    - struct rtpc_reply*
    - struct rtpp_bindaddr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: rtpc_reply_deliver_port_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - rtpc_reply_deliver
    - rtpc_reply_append
    - rtpc_reply_append_port_addr
    - rtpc_reply_commit
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: "int rtpc_reply_deliver_port_addr(struct rtpc_reply *self,\n  const
      struct rtpp_bindaddr *sa, int port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpc_reply_deliver_number
      Src: /src/rtpproxy/src/rtpp_command_reply.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpc_reply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: rtpc_reply_deliver_ok
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - rtpc_reply_deliver_number
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_ok(struct rtpc_reply *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:236,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_command_reply.c:238,1
    - Dst: rtpc_reply_appendf
      Src: /src/rtpproxy/src/rtpp_command_reply.c:238,1
    - Dst: rtpc_reply_deliver
      Src: /src/rtpproxy/src/rtpp_command_reply.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - self
    - ecode
    argTypes:
    - struct rtpc_reply*
    - int
    assertStmts:
    - condition: (rtpc_reply_appendf(self, "E%d\n", ecode) == 0)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/rtpproxy/src/rtpp_command_reply.c
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: rtpc_reply_deliver_error
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - assert
    - rtpc_reply_appendf
    - rtpc_reply_deliver
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_error(struct rtpc_reply *self, int ecode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:248,1
    - Dst: CBRL
      Src: /src/rtpproxy/src/rtpp_command_reply.c:249,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_reply.c:250,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_command_reply.c:253,1
    - Dst: CBP
      Src: /src/rtpproxy/src/rtpp_command_reply.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - self
    - buf
    - len
    - final
    argTypes:
    - struct rtpc_reply*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: rtpc_reply_append
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 1
    functionsReached:
    - CBP
    - memcpy
    - CBRL
    - RTPP_LOG
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpc_reply_append(struct rtpc_reply *self, const char *buf, int
      len, int final)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:267,1
    - Dst: va_start
      Src: /src/rtpproxy/src/rtpp_command_reply.c:268,1
    - Dst: vsnprintf
      Src: /src/rtpproxy/src/rtpp_command_reply.c:269,1
    - Dst: CBP
      Src: /src/rtpproxy/src/rtpp_command_reply.c:269,1
    - Dst: CBRL
      Src: /src/rtpproxy/src/rtpp_command_reply.c:269,1
    - Dst: va_end
      Src: /src/rtpproxy/src/rtpp_command_reply.c:270,1
    - Dst: CBRL
      Src: /src/rtpproxy/src/rtpp_command_reply.c:271,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_command_reply.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - self
    - fmt
    argTypes:
    - struct rtpc_reply*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 277
    functionName: rtpc_reply_appendf
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 3
    functionsReached:
    - va_end
    - CBP
    - va_start
    - CBRL
    - RTPP_LOG
    - vsnprintf
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpc_reply_appendf(struct rtpc_reply *self, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:284,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpc_reply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: rtpc_reply_commit
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_commit(struct rtpc_reply *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_command_reply.c:294,1
    - Dst: CBRL
      Src: /src/rtpproxy/src/rtpp_command_reply.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - self
    - rlen
    argTypes:
    - struct rtpc_reply*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: rtpc_reply_reserve
    functionSourceFile: /src/rtpproxy/src/rtpp_command_reply.c
    functionUses: 0
    functionsReached:
    - CBRL
    - PUB2PVT
    linkageType: ''
    returnType: int
    signature: int rtpc_reply_reserve(struct rtpc_reply *self, int rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: ARRIVAL_TIME
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRIVAL_TIME(rp, pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: ARRIVAL_TIME
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRIVAL_TIME(rp, pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/rtpproxy/src/rtpp_record.c:145,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_record.c:147,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/rtpp_record.c:150,1
    - Dst: resolve
      Src: /src/rtpproxy/src/rtpp_record.c:154,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:154,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_record.c:156,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/src/rtpp_record.c:156,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_record.c:159,1
    - Dst: connect
      Src: /src/rtpproxy/src/rtpp_record.c:160,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:160,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/src/rtpp_record.c:160,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:160,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - cfg
    - rrc
    - rap
    - log
    - rname
    - is_rtcp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_record_channel*
    - struct remote_copy_args*
    - struct rtpp_log*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 165
    functionName: ropen_remote_ctor_pa
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - SA_LEN
    - RTPP_ELOG
    - resolve
    - atoi
    - gai_strerror
    - sstosa
    - snprintf
    - RTPP_LOG
    - CALL_SMETHOD
    - connect
    linkageType: ''
    returnType: int
    signature: "int ropen_remote_ctor_pa(const struct rtpp_cfg *cfg, struct rtpp_record_channel
      *rrc,\n  const struct remote_copy_args *rap, struct rtpp_log *log, const char
      *rname, int is_rtcp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/rtpproxy/src/rtpp_record.c:176,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_record.c:178,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_record.c:178,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:180,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_record.c:183,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/rtpp_record.c:193,1
    - Dst: ropen_remote_ctor_pa
      Src: /src/rtpproxy/src/rtpp_record.c:198,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/rtpp_record.c:202,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_record.c:203,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_record.c:209,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_record.c:235,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_record.c:239,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_record.c:243,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_record.c:247,1
    - Dst: open
      Src: /src/rtpproxy/src/rtpp_record.c:249,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:251,1
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_record.c:264,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:266,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_record.c:271,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/rtpp_record.c:277,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_record.c:283,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_record.c:285,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_record.c:286,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_record.c:288,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 108
    argCount: 6
    argNames:
    - cfsp
    - rap
    - sp
    - rname
    - orig
    - record_type
    argTypes:
    - struct rtpp_cfg*
    - struct remote_copy_args*
    - struct rtpp_session*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 291
    functionName: rtpp_record_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - RTPP_ELOG
    - write
    - pthread_mutex_init
    - strncmp
    - close
    - open
    - RTPP_OBJ_DECREF
    - pthread_mutex_destroy
    - RTPP_OBJ_INCREF
    - RTPP_LOG
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - ropen_remote_ctor_pa
    - RTPP_OBJ_BORROW_s
    - rtpp_rzmalloc
    - sprintf
    linkageType: ''
    returnType: struct rtpp_record
    signature: "struct rtpp_record *\nrtpp_record_ctor(const struct rtpp_cfg *cfsp,
      const struct remote_copy_args *rap,\n  struct rtpp_session *sp, const char *rname,
      int orig, int record_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rtpproxy/src/rtpp_record.c:298,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:304,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_record.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rrc
    argTypes:
    - struct rtpp_record_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 311
    functionName: flush_rbuf
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - close
    - RTPP_ELOG
    - write
    linkageType: ''
    returnType: int
    signature: int flush_rbuf(struct rtpp_record_channel *rrc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_record.c:336,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:338,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:340,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_record.c:341,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_record.c:342,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:346,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_record.c:347,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_record.c:348,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_record.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - phap
    argTypes:
    - struct prepare_pkt_hdr_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 357
    functionName: prepare_pkt_hdr_adhoc
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - sstosa
    - satosin
    - memset
    - abort
    - satosin6
    linkageType: ''
    returnType: int
    signature: int prepare_pkt_hdr_adhoc(const struct prepare_pkt_hdr_args *phap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:371,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_record.c:371,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_record.c:375,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:376,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_record.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - addr
    - eaddr
    argTypes:
    - struct sockaddr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 386
    functionName: fake_ether_addr
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - abort
    - satosin6
    - memcpy
    - satosin
    linkageType: ''
    returnType: void
    signature: void fake_ether_addr(const struct sockaddr *addr, uint8_t *eaddr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:408,1
    - Dst: getnport
      Src: /src/rtpproxy/src/rtpp_record.c:409,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_record.c:411,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_record.c:414,1
    - Dst: getnport
      Src: /src/rtpproxy/src/rtpp_record.c:416,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:421,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_record.c:427,1
    - Dst: get_hdr_size
      Src: /src/rtpproxy/src/rtpp_record.c:427,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_record.c:428,1
    - Dst: dtime2timeval
      Src: /src/rtpproxy/src/rtpp_record.c:438,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_record.c:440,1
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_record.c:440,1
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_record.c:440,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/rtpp_record.c:441,1
    - Dst: USEC
      Src: /src/rtpproxy/src/rtpp_record.c:441,1
    - Dst: SEC
      Src: /src/rtpproxy/src/rtpp_record.c:443,1
    - Dst: USEC
      Src: /src/rtpproxy/src/rtpp_record.c:444,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:450,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:455,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:463,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:476,1
    - Dst: ishostnull
      Src: /src/rtpproxy/src/rtpp_record.c:485,1
    - Dst: ishostnull
      Src: /src/rtpproxy/src/rtpp_record.c:485,1
    - Dst: local4remote
      Src: /src/rtpproxy/src/rtpp_record.c:486,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:487,1
    - Dst: fake_ether_addr
      Src: /src/rtpproxy/src/rtpp_record.c:492,1
    - Dst: ishostnull
      Src: /src/rtpproxy/src/rtpp_record.c:493,1
    - Dst: ishostnull
      Src: /src/rtpproxy/src/rtpp_record.c:493,1
    - Dst: local4remote
      Src: /src/rtpproxy/src/rtpp_record.c:494,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:495,1
    - Dst: fake_ether_addr
      Src: /src/rtpproxy/src/rtpp_record.c:500,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_record.c:507,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_record.c:508,1
    - Dst: satosin
      Src: /src/rtpproxy/src/rtpp_record.c:509,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_record.c:511,1
    - Dst: rtpp_in_cksum
      Src: /src/rtpproxy/src/rtpp_record.c:513,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_record.c:518,1
    - Dst: satosin6
      Src: /src/rtpproxy/src/rtpp_record.c:519,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_record.c:520,1
    - Dst: htons
      Src: /src/rtpproxy/src/rtpp_record.c:526,1
    - Dst: rtpp_ip_chksum_start
      Src: /src/rtpproxy/src/rtpp_record.c:528,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:530,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:531,1
    - Dst: rtpp_ip_chksum_pad_v4
      Src: /src/rtpproxy/src/rtpp_record.c:532,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:533,1
    - Dst: htonl
      Src: /src/rtpproxy/src/rtpp_record.c:535,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:537,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:538,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:539,1
    - Dst: rtpp_ip_chksum_pad_v6
      Src: /src/rtpproxy/src/rtpp_record.c:540,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:542,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:543,1
    - Dst: rtpp_ip_chksum_update
      Src: /src/rtpproxy/src/rtpp_record.c:544,1
    - Dst: rtpp_ip_chksum_update_data
      Src: /src/rtpproxy/src/rtpp_record.c:545,1
    - Dst: rtpp_ip_chksum_fin
      Src: /src/rtpproxy/src/rtpp_record.c:546,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 103
    argCount: 1
    argNames:
    - phap
    argTypes:
    - struct prepare_pkt_hdr_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 549
    functionName: prepare_pkt_hdr_pcap
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - USEC
    - sstosa
    - rtpp_ip_chksum_pad_v6
    - rtpp_ip_chksum_pad_v4
    - dtime2timeval
    - ishostnull
    - satosin6
    - SEC
    - RTPP_ELOG
    - fake_ether_addr
    - satosin
    - get_hdr_size
    - htons
    - rtpp_in_cksum
    - RTPP_DBG_ASSERT
    - rtpp_ip_chksum_fin
    - htonl
    - getnport
    - rtpp_ip_chksum_start
    - memset
    - rtpp_ip_chksum_update
    - rtpp_ip_chksum_update_data
    - memcpy
    - local4remote
    linkageType: ''
    returnType: int
    signature: int prepare_pkt_hdr_pcap(const struct prepare_pkt_hdr_args *phap)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - raddr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 570
    functionName: get_hdr_size
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_hdr_size(const struct sockaddr *raddr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_record.c:587,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_record.c:589,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:589,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_record.c:590,1
    - Dst: memset
      Src: /src/rtpproxy/src/rtpp_record.c:592,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:593,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:597,1
    - Dst: send
      Src: /src/rtpproxy/src/rtpp_record.c:606,1
    - Dst: get_hdr_size
      Src: /src/rtpproxy/src/rtpp_record.c:615,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:615,1
    - Dst: abort
      Src: /src/rtpproxy/src/rtpp_record.c:621,1
    - Dst: flush_rbuf
      Src: /src/rtpproxy/src/rtpp_record.c:626,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/rtpp_record.c:633,1
    - Dst: ARRIVAL_TIME
      Src: /src/rtpproxy/src/rtpp_record.c:635,1
    - Dst: prepare_pkt_hdr
      Src: /src/rtpproxy/src/rtpp_record.c:643,1
    - Dst: writev
      Src: /src/rtpproxy/src/rtpp_record.c:651,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/rtpp_record.c:655,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:656,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_record.c:660,1
    - Dst: prepare_pkt_hdr
      Src: /src/rtpproxy/src/rtpp_record.c:665,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_record.c:668,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - rrc
    - pktxp
    argTypes:
    - struct rtpp_record_channel*
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 670
    functionName: rtpp_record_write_locked
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - RTPP_ELOG
    - flush_rbuf
    - sstosa
    - close
    - memcpy
    - RTPP_OBJ_DECREF
    - get_hdr_size
    - writev
    - CALL_SMETHOD
    - send
    - abort
    - memset
    - prepare_pkt_hdr
    - ARRIVAL_TIME
    linkageType: ''
    returnType: void
    signature: void rtpp_record_write_locked(struct rtpp_record_channel *rrc, const
      struct pkt_proc_ctx *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_record.c:677,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_record.c:678,1
    - Dst: rtpp_record_write_locked
      Src: /src/rtpproxy/src/rtpp_record.c:679,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_record.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - self
    - pktxp
    argTypes:
    - struct rtpp_record*
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 3
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: rtpp_record_write
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - rtpp_record_write_locked
    - PUB2PVT
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void rtpp_record_write(struct rtpp_record *self, const struct pkt_proc_ctx
      *pktxp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_record_fin
      Src: /src/rtpproxy/src/rtpp_record.c:688,1
    - Dst: flush_rbuf
      Src: /src/rtpproxy/src/rtpp_record.c:690,1
    - Dst: close
      Src: /src/rtpproxy/src/rtpp_record.c:696,1
    - Dst: unlink
      Src: /src/rtpproxy/src/rtpp_record.c:699,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:700,1
    - Dst: rename
      Src: /src/rtpproxy/src/rtpp_record.c:703,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/rtpp_record.c:704,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_record.c:708,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_record.c:709,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - rrc
    argTypes:
    - struct rtpp_record_channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 710
    functionName: rtpp_record_close
    functionSourceFile: /src/rtpproxy/src/rtpp_record.c
    functionUses: 0
    functionsReached:
    - RTPP_ELOG
    - flush_rbuf
    - rtpp_record_fin
    - close
    - RTPP_OBJ_DECREF
    - pthread_mutex_destroy
    - rename
    - unlink
    linkageType: ''
    returnType: void
    signature: void rtpp_record_close(struct rtpp_record_channel *rrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tntp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: RTPP_TNT_STYPE
    functionSourceFile: /src/rtpproxy/src/rtpp_tnotify_tgt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_TNT_STYPE(tntp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_pcount.c:87,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_pcount.c:87,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_pcount.c:91,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_pcount.c:92,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_pcount.c:93,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_pcount.c:95,1
    - Dst: atomic_init
      Src: /src/rtpproxy/src/rtpp_pcount.c:96,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_pcount.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: rtpp_pcount_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 1
    functionsReached:
    - PUBINST_FININIT
    - rtpp_rzmalloc
    - atomic_init
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtpp_pcount
    signature: 'struct rtpp_pcount *

      rtpp_pcount_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_pcount_fin
      Src: /src/rtpproxy/src/rtpp_pcount.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_pcount_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: rtpp_pcount_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 0
    functionsReached:
    - rtpp_pcount_fin
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_dtor(struct rtpp_pcount_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcount.c:117,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_pcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: rtpp_pcount_reg_reld
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_reg_reld(struct rtpp_pcount *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcount.c:126,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:127,1
    - Dst: assert
      Src: /src/rtpproxy/src/rtpp_pcount.c:128,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:133,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/rtpproxy/src/rtpp_pcount.c:135,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_pcount*
    assertStmts:
    - condition: (mlp != NULL)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/rtpproxy/src/rtpp_pcount.c
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: rtpp_pcount_reg_drop
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - atomic_load_explicit
    - assert
    - PUB2PVT
    - atomic_compare_exchange_strong
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_reg_drop(struct rtpp_pcount *self, HERETYPEARG)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcount.c:150,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:155,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:158,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/rtpp_pcount.c:161,1
    - Dst: CODEPTR_FMT
      Src: /src/rtpproxy/src/rtpp_pcount.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - self
    - log
    argTypes:
    - struct rtpp_pcount*
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: rtpp_pcount_log_drops
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - RTPP_LOG
    - PUB2PVT
    - CODEPTR_FMT
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_log_drops(struct rtpp_pcount *self, struct rtpp_log
      *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcount.c:171,1
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - struct rtpp_pcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: rtpp_pcount_reg_ignr
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_reg_ignr(struct rtpp_pcount *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcount.c:180,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:181,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:182,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/src/rtpp_pcount.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - self
    - ocnt
    argTypes:
    - struct rtpp_pcount*
    - struct rtpps_pcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: rtpp_pcount_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_pcount.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_get_stats(struct rtpp_pcount *self, struct rtpps_pcount
      *ocnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:48,1
    - Dst: backtrace_symbols
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:49,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:51,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:55,1
    - Dst: fflush
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:56,1
    - Dst: signal
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:57,1
    - Dst: rtpp_gcov_flush
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:58,1
    - Dst: kill
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:59,1
    - Dst: getpid
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: rtpp_stacktrace
    functionSourceFile: /src/rtpproxy/src/rtpp_stacktrace.c
    functionUses: 1
    functionsReached:
    - signal
    - fprintf
    - backtrace
    - rtpp_gcov_flush
    - getpid
    - backtrace_symbols
    - kill
    - fflush
    linkageType: ''
    returnType: void
    signature: void rtpp_stacktrace(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:71,1
    - Dst: backtrace_symbols
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:72,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:74,1
    - Dst: fprintf
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:76,1
    - Dst: fflush
      Src: /src/rtpproxy/src/rtpp_stacktrace.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: rtpp_stacktrace_print
    functionSourceFile: /src/rtpproxy/src/rtpp_stacktrace.c
    functionUses: 4
    functionsReached:
    - backtrace_symbols
    - fflush
    - fprintf
    - backtrace
    linkageType: ''
    returnType: void
    signature: void rtpp_stacktrace_print(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: CONCAT2
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCAT2(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: CONCAT
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: malloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: malloc(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: free
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: free
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: realloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: realloc(p,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: strdup
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - pp
    - ','
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: asprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asprintf(pp, fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - fmt
    - ','
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: vasprintf
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vasprintf(pp, fmt, vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dp
    - ','
    - sp
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: memcpy
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memcpy(dp, sp, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nm
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: calloc
    functionSourceFile: /src/rtpproxy/src/rtpp_memdeb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calloc(nm, sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/rtpproxy/src/rtpp_proc_util.c:45,1
    - Dst: strlen
      Src: /src/rtpproxy/src/rtpp_proc_util.c:45,1
    - Dst: sprintf
      Src: /src/rtpproxy/src/rtpp_proc_util.c:47,1
    - Dst: pthread_setname_np
      Src: /src/rtpproxy/src/rtpp_proc_util.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - thread_id
    - pname
    argTypes:
    - pthread_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: rtpp_proc_async_setprocname
    functionSourceFile: /src/rtpproxy/src/rtpp_proc_util.c
    functionUses: 2
    functionsReached:
    - alloca
    - strlen
    - sprintf
    - pthread_setname_np
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_async_setprocname(pthread_t thread_id, const char *pname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:72,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:72,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:76,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:79,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: rtpp_pcnt_strm_ctor
    functionSourceFile: /src/rtpproxy/src/rtpp_pcnt_strm.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_init
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - PVT_RCOFFS
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct rtpp_pcnt_strm
    signature: 'struct rtpp_pcnt_strm *

      rtpp_pcnt_strm_ctor(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_pcnt_strm_fin
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:92,1
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct rtpp_pcnt_strm_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: rtpp_pcnt_strm_dtor
    functionSourceFile: /src/rtpproxy/src/rtpp_pcnt_strm.c
    functionUses: 0
    functionsReached:
    - rtpp_pcnt_strm_fin
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void rtpp_pcnt_strm_dtor(struct rtpp_pcnt_strm_priv *pvt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:102,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:103,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:104,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - self
    - ocnt
    argTypes:
    - struct rtpp_pcnt_strm*
    - struct rtpp_pcnts_strm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: rtpp_pcnt_strm_get_stats
    functionSourceFile: /src/rtpproxy/src/rtpp_pcnt_strm.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - memcpy
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_pcnt_strm_get_stats(struct rtpp_pcnt_strm *self,\n  struct
      rtpp_pcnts_strm *ocnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:115,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:116,1
    - Dst: fabs
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:122,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/rtpp_pcnt_strm.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - self
    - pkt
    argTypes:
    - struct rtpp_pcnt_strm*
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: rtpp_pcnt_strm_reg_pktin
    functionSourceFile: /src/rtpproxy/src/rtpp_pcnt_strm.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - fabs
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: "void rtpp_pcnt_strm_reg_pktin(struct rtpp_pcnt_strm *self,\n  struct
      rtp_packet *pkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rhp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: RTP_HDR_LEN
    functionSourceFile: /src/rtpproxy/src/rtp.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTP_HDR_LEN(rhp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - seq1
    - ','
    - seq2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: SEQ_DIST
    functionSourceFile: /src/rtpproxy/src/rtp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEQ_DIST(seq1, seq2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ts1
    - ','
    - ts2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: ts_less
    functionSourceFile: /src/rtpproxy/src/rtp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ts_less(ts1, ts2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: OPT_SAVE
    functionSourceFile: /src/rtpproxy/src/librtpp_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_SAVE(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: OPT_RESTORE
    functionSourceFile: /src/rtpproxy/src/librtpp_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_RESTORE(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPT_SAVE
      Src: /src/rtpproxy/src/librtpp_main.c:63,1
    - Dst: OPT_RESTORE
      Src: /src/rtpproxy/src/librtpp_main.c:64,1
    - Dst: _rtpp_main
      Src: /src/rtpproxy/src/librtpp_main.c:65,1
    - Dst: OPT_RESTORE
      Src: /src/rtpproxy/src/librtpp_main.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: rtpp_main
    functionSourceFile: /src/rtpproxy/src/librtpp_main.c
    functionUses: 1
    functionsReached:
    - _rtpp_main
    - OPT_SAVE
    - OPT_RESTORE
    linkageType: ''
    returnType: struct rtpp_cfg
    signature: 'struct rtpp_cfg *

      rtpp_main(int argc, const char * const *argv)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtp_packet.c:58,1
    - Dst: RTP_PKT_COPYOFF
      Src: /src/rtpproxy/src/rtp_packet.c:61,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/rtp_packet.c:62,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtp_packet.c:66,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtp_packet.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - dpkt
    - spkt
    - flags
    argTypes:
    - struct rtp_packet*
    - struct rtp_packet*
    - int
    assertStmts:
    - condition: (spkt->parse_result == RTP_PARSER_OK)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/rtpproxy/src/rtp_packet.c
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: rtp_packet_dup
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 2
    functionsReached:
    - RTP_PKT_COPYOFF
    - assert
    - memcpy
    - PUB2PVT
    linkageType: ''
    returnType: void
    signature: void rtp_packet_dup(struct rtp_packet *dpkt, const struct rtp_packet
      *spkt, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/rtp_packet.c:82,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/rtp_packet.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: rtp_packet_alloc
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 8
    functionsReached:
    - rtpp_rzmalloc
    - PVT_RCOFFS
    linkageType: ''
    returnType: struct rtp_packet
    signature: 'struct rtp_packet *

      rtp_packet_alloc()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/rtp_packet.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wi
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: rp_wi_free
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rp_wi_free(void *wi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/rtp_packet.c:103,1
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/rtp_packet.c:108,1
    - Dst: RTPP_OBJ_DTOR_ATTACH
      Src: /src/rtpproxy/src/rtp_packet.c:111,1
    - Dst: rp_wi_free
      Src: /src/rtpproxy/src/rtp_packet.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: rtp_packet_get_wi
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 2
    functionsReached:
    - RTPP_OBJ_DTOR_ATTACH
    - rtpp_zmalloc
    - PUB2PVT
    - rp_wi_free
    linkageType: ''
    returnType: struct rtpp_wi
    signature: 'struct rtpp_wi *

      rtp_packet_get_wi(struct rtp_packet *pub)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/rtpproxy/src/rtp_packet.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - seq
    argTypes:
    - struct rtp_packet*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: rtp_packet_set_seq
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 1
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: void rtp_packet_set_seq(struct rtp_packet *p, uint16_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/rtpproxy/src/rtp_packet.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - ts
    argTypes:
    - struct rtp_packet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: rtp_packet_set_ts
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 2
    functionsReached:
    - htonl
    linkageType: ''
    returnType: void
    signature: void rtp_packet_set_ts(struct rtp_packet *p, uint32_t ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/rtp_packet.c:146,1
    - Dst: rtp_packet_is_rtcp
      Src: /src/rtpproxy/src/rtp_packet.c:149,1
    - Dst: rtp_packet_parse_raw
      Src: /src/rtpproxy/src/rtp_packet.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct rtp_packet*
    assertStmts:
    - condition: (pkt->parsed == NULL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/rtpproxy/src/rtp_packet.c
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: rtp_packet_parse
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 5
    functionsReached:
    - rtp_packet_is_rtcp
    - assert
    - rtp_packet_parse_raw
    linkageType: ''
    returnType: rtp_parser_err_t
    signature: rtp_parser_err_t rtp_packet_parse(struct rtp_packet *pkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: rtp_packet_is_rtcp
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtp_packet_is_rtcp(const struct rtp_packet *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_is_rtcp
      Src: /src/rtpproxy/src/rtp_packet.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: rtpp_is_rtcp_tst
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 2
    functionsReached:
    - rtp_packet_is_rtcp
    linkageType: ''
    returnType: int
    signature: int rtpp_is_rtcp_tst(struct pkt_proc_ctx *pktx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/rtpproxy/src/rtp_packet.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: rtp_packet_is_stun
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int rtp_packet_is_stun(const struct rtp_packet *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_is_stun
      Src: /src/rtpproxy/src/rtp_packet.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: rtpp_is_stun_tst
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 1
    functionsReached:
    - rtp_packet_is_stun
    linkageType: ''
    returnType: int
    signature: int rtpp_is_stun_tst(struct pkt_proc_ctx *pktx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct rtp_packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: rtp_packet_is_dtls
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rtp_packet_is_dtls(const struct rtp_packet *pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_is_dtls
      Src: /src/rtpproxy/src/rtp_packet.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktx
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: rtpp_is_dtls_tst
    functionSourceFile: /src/rtpproxy/src/rtp_packet.c
    functionUses: 1
    functionsReached:
    - rtp_packet_is_dtls
    linkageType: ''
    returnType: int
    signature: int rtpp_is_dtls_tst(struct pkt_proc_ctx *pktx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_timed.h:45,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_timed.h:46,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/rtpp_timed.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/rtpp_timed.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(rtpp_timed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nprocs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: pproc_handlers_alloc
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct pproc_handlers
    signature: 'struct pproc_handlers *

      pproc_handlers_alloc(int nprocs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pvt
    argTypes:
    - struct pproc_manager_pvt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: rtpp_pproc_mgr_dtor
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_pproc_mgr_dtor(struct pproc_manager_pvt *pvt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:113,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:113,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:116,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:119,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:121,1
    - Dst: pproc_handlers_alloc
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:122,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:125,1
    - Dst: PUBINST_FININIT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:127,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - rtpp_stats
    - nprocs
    argTypes:
    - struct rtpp_stats*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: pproc_manager_ctor
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_init
    - pproc_handlers_alloc
    - PUBINST_FININIT
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - PVT_RCOFFS
    - CALL_SMETHOD
    - RTPP_OBJ_BORROW_s
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct pproc_manager
    signature: 'struct pproc_manager *

      pproc_manager_ctor(struct rtpp_stats *rtpp_stats, int nprocs)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:143,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:144,1
    - Dst: pproc_handlers_alloc
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:146,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:148,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:155,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:158,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:165,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:167,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pub
    - pproc_order
    - ip
    argTypes:
    - struct pproc_manager*
    - enum pproc_order
    - struct packet_processor_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: rtpp_pproc_mgr_register
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - pproc_handlers_alloc
    - memcpy
    - RTPP_OBJ_DECREF
    - pthread_mutex_unlock
    - RTPP_OBJ_BORROW_s
    - PUB2PVT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: "int rtpp_pproc_mgr_register(struct pproc_manager *pub, enum pproc_order
      pproc_order,\n  const struct packet_processor_if *ip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_pproc_mgr_handleat
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pub
    - pktxp
    argTypes:
    - struct pproc_manager*
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: rtpp_pproc_mgr_handle
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - rtpp_pproc_mgr_handleat
    linkageType: ''
    returnType: enum pproc_action
    signature: enum pproc_action rtpp_pproc_mgr_handle(struct pproc_manager *pub,
      struct pkt_proc_ctx *pktxp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PPROC_ACT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:187,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:191,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:192,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:194,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:195,1
    - Dst: assert
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:199,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:204,1
    - Dst: struct packet_processor_if*::taste
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:212,1
    - Dst: struct packet_processor_if*::enqueue
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:214,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:219,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:221,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:223,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:227,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - pub
    - pktxp
    - startat
    argTypes:
    - struct pproc_manager*
    - struct pkt_proc_ctx*
    - enum pproc_order
    assertStmts:
    - condition: (max_recursion > 0)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/rtpproxy/src/advanced/pproc_manager.c
    constantsTouched: []
    func_position:
      end: 235
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 235
    functionName: rtpp_pproc_mgr_handleat
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 1
    functionsReached:
    - PPROC_ACT
    - struct packet_processor_if*::enqueue
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_INCREF
    - assert
    - pthread_mutex_unlock
    - CALL_SMETHOD
    - struct packet_processor_if*::taste
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct pproc_act
    signature: "struct pproc_act rtpp_pproc_mgr_handleat(struct pproc_manager *pub,
      struct pkt_proc_ctx *pktxp,\n  enum pproc_order startat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (max_recursion > 0)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/rtpproxy/src/advanced/pproc_manager.c
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: RTPP_DBGCODE
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RTPP_DBGCODE()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:242,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:243,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:246,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:249,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:251,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pub
    - key
    - rval
    argTypes:
    - struct pproc_manager*
    - void*
    - struct packet_processor_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 257
    functionName: rtpp_pproc_mgr_lookup
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - pthread_mutex_unlock
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_pproc_mgr_lookup(struct pproc_manager *pub, void *key, struct
      packet_processor_if *rval)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:266,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:267,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:270,1
    - Dst: pproc_handlers_alloc
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:273,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:275,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:279,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:282,1
    - Dst: RTPP_OBJ_BORROW_s
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:287,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:291,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:294,1
    - Dst: abort
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:297,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pub
    - key
    argTypes:
    - struct pproc_manager*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 298
    functionName: rtpp_pproc_mgr_unregister
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - pproc_handlers_alloc
    - memcpy
    - RTPP_OBJ_DECREF
    - pthread_mutex_unlock
    - RTPP_OBJ_BORROW_s
    - abort
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int rtpp_pproc_mgr_unregister(struct pproc_manager *pub, void *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:307,1
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:308,1
    - Dst: pproc_manager_ctor
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:309,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:311,1
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:314,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:315,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:319,1
    - Dst: RTPP_OBJ_BORROW
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:321,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct pproc_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 325
    functionName: rtpp_pproc_mgr_clone
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - pproc_manager_ctor
    - memcpy
    - RTPP_OBJ_BORROW
    - pthread_mutex_unlock
    - PUB2PVT
    - RTPP_DBG_ASSERT
    - pthread_mutex_lock
    linkageType: ''
    returnType: struct pproc_manager
    signature: 'struct pproc_manager *

      rtpp_pproc_mgr_clone(struct pproc_manager *pub)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:332,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/advanced/pproc_manager.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct pproc_manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: rtpp_pproc_mgr_reg_drop
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_pproc_mgr_reg_drop(struct pproc_manager *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: PPROC_ACT
    functionSourceFile: /src/rtpproxy/src/advanced/packet_processor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PPROC_ACT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:67,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:68,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:69,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:70,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:71,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:72,1
    - Dst: METHOD_ENTRY
      Src: /src/rtpproxy/src/advanced/pproc_manager.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: DECLARE_SMETHODS
    functionSourceFile: /src/rtpproxy/src/advanced/pproc_manager.h
    functionUses: 0
    functionsReached:
    - METHOD_ENTRY
    linkageType: ''
    returnType: void
    signature: void DECLARE_SMETHODS(pproc_manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:72,1
    - Dst: strrchr
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:73,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:75,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:80,1
    - Dst: rtpp_create_listener
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:84,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - cfsp
    - rname
    - log
    - ap
    argTypes:
    - struct rtpp_cfg*
    - char*
    - struct rtpp_log*
    - struct remote_copy_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 94
    functionName: get_args4remote
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_copy.c
    functionUses: 0
    functionsReached:
    - rtpp_create_listener
    - RTPP_LOG
    - CALL_SMETHOD
    - strlcpy
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int get_args4remote(const struct rtpp_cfg *cfsp, const char *rname,
      struct rtpp_log *log,\n  struct remote_copy_args *ap)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:102,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:105,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:113,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:114,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:114,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:115,1
    - Dst: rtpp_record_ctor
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:117,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:121,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:124,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:126,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:128,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:132,1
    - Dst: get_args4remote
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:139,1
    - Dst: rtpp_record_ctor
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:144,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:148,1
    - Dst: rtpp_record_ctor
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:153,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:155,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:159,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:164,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:167,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:173,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_copy.c:174,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 6
    argNames:
    - cfsp
    - cmd
    - spa
    - idx
    - rname
    - rop
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_session*
    - int
    - char*
    - struct record_opts*
    assertStmts:
    - condition: (spa->rtcp->stream[idx]->rrc == NULL)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/rtpproxy/src/commands/rpcpv1_copy.c
    constantsTouched: []
    func_position:
      end: 177
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 177
    functionName: handle_copy
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_copy.c
    functionUses: 1
    functionsReached:
    - get_args4remote
    - strncmp
    - NOT
    - rtpp_record_ctor
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - RTPP_OBJ_INCREF
    - assert
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int handle_copy(const struct rtpp_cfg *cfsp, struct rtpp_command *cmd,
      struct rtpp_session *spa,\n  int idx, const char *rname, const struct record_opts
      *rop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ul_subc_drop_packets
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act ul_subc_drop_packets(const struct pkt_proc_ctx *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:95,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:96,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:97,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:99,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pktxp
    argTypes:
    - struct pkt_proc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: ul_subc_copy_enqueue
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_INCREF
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: struct pproc_act
    signature: struct pproc_act ul_subc_copy_enqueue(const struct pkt_proc_ctx *pktxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:120,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:121,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:122,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - csp
    argTypes:
    - struct rtpp_subcommand_ul_copy_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: rtpp_subcommand_ul_copy_uninstall
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void rtpp_subcommand_ul_copy_uninstall(struct rtpp_subcommand_ul_copy_state
      *csp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_subcommand_ul_copy_uninstall
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - csp
    argTypes:
    - struct rtpp_subcommand_ul_copy_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: rusc_on_tgt_sess_dtor
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached:
    - rtpp_subcommand_ul_copy_uninstall
    linkageType: ''
    returnType: void
    signature: void rusc_on_tgt_sess_dtor(struct rtpp_subcommand_ul_copy_state *csp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - cmd
    - subc_args
    - csp
    argTypes:
    - struct rtpp_command*
    - struct rtpp_command_args*
    - struct rtpp_subcommand_ul_copy_pstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: rtpp_command_ul_copy_subc_pre_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_copy_subc_pre_parse(struct rtpp_command *cmd,\n
      \ const struct rtpp_command_args *subc_args,\n  struct rtpp_subcommand_ul_copy_pstate
      *csp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:171,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:172,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:173,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:177,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:178,1
    - Dst: find_stream
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:180,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:180,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:181,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:181,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:186,1
    - Dst: get_rtcp_pair
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:189,1
    - Dst: get_rtcp_pair
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:190,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:199,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:217,1
    - Dst: RTPP_OBJ_BORROW
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:219,1
    - Dst: RTPP_OBJ_BORROW
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:220,1
    - Dst: RTPP_OBJ_BORROW
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:221,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:254,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:258,1
    - Dst: RTPP_OBJ_BORROW
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:265,1
    - Dst: RTPP_OBJ_DTOR_ATTACH
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:268,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:272,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:273,1
    - Dst: rtpp_subcommand_ul_copy_uninstall
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:277,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:279,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:281,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 2
    argNames:
    - ashap
    - rscp
    argTypes:
    - struct after_success_h_args*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 284
    functionName: rtpp_command_ul_copy_as_subc
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached:
    - NOT
    - RTPP_OBJ_BORROW
    - RTPP_OBJ_DECREF
    - rtpp_str_fix
    - rtpp_subcommand_ul_copy_uninstall
    - CALL_SMETHOD
    - find_stream
    - RTPP_OBJ_DTOR_ATTACH
    - rtpp_rzmalloc
    - get_rtcp_pair
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_copy_as_subc(const struct after_success_h_args
      *ashap,\n  const struct rtpp_subc_ctx *rscp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:292,1
    - Dst: rtpp_command_ul_copy_subc_pre_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:295,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:297,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - cfsp
    - cmd
    - subc_args
    - asp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_command_args*
    - struct after_success_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: rtpp_command_ul_copy_subc_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    functionUses: 0
    functionsReached:
    - RTPP_OBJ_DTOR_ATTACH_OBJ
    - rtpp_rzmalloc
    - rtpp_command_ul_copy_subc_pre_parse
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_copy_subc_parse(const struct rtpp_cfg *cfsp, struct
      rtpp_command *cmd,\n  const struct rtpp_command_args *subc_args, struct after_success_h
      *asp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: CHECK_OVERFLOW
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:75,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:76,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:77,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:78,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:78,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:80,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - cfsp
    - cmd
    - spp
    - idx
    - verbose
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_pipe*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: handle_query_simple
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 0
    functionsReached:
    - NOT
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int handle_query_simple(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd,\n  struct rtpp_pipe *spp, int idx, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: PULL_RST
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL_RST()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: PULL_JRST
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL_JRST()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: PULL_PCNT
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL_PCNT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: PULL_PCNT_STRM
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL_PCNT_STRM()
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:140,1
    - Dst: handle_query_simple
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:146,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:152,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:153,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:156,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:157,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:158,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:160,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:161,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:162,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:163,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:167,1
    - Dst: PULL_PCNT_STRM
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:168,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:169,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:173,1
    - Dst: PULL_PCNT_STRM
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:174,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:175,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:179,1
    - Dst: PULL_PCNT_STRM
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:180,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:181,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:185,1
    - Dst: PULL_JRST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:186,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:187,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:191,1
    - Dst: PULL_JRST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:192,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:193,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:197,1
    - Dst: PULL_JRST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:198,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:199,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:203,1
    - Dst: PULL_PCNT
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:204,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:205,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:209,1
    - Dst: PULL_PCNT
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:210,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:211,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:215,1
    - Dst: PULL_RST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:216,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:217,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:221,1
    - Dst: PULL_RST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:222,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:223,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:227,1
    - Dst: PULL_RST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:228,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:229,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:233,1
    - Dst: PULL_RST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:234,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:235,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:239,1
    - Dst: PULL_RST
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:240,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:241,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:245,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:247,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:250,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:253,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:253,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:259,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:262,1
    - Dst: handler
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:269,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:273,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:283,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:288,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:297,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:297,1
    - Dst: strlen
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:297,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:298,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:298,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:299,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_query.c:300,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 140
    argCount: 4
    argNames:
    - cfsp
    - cmd
    - spp
    - idx
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_pipe*
    - int
    assertStmts:
    - condition: (CALL_SMETHOD(cmd->reply, reserve, sizeof(SUBC_FAIL_RSP)) == 0)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/rtpproxy/src/commands/rpcpv1_query.c
    - condition: (CALL_SMETHOD(cmd->reply, append, SUBC_FAIL_RSP, strlen(SUBC_FAIL_RSP),
        1) == 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/rtpproxy/src/commands/rpcpv1_query.c
    - condition: (CALL_SMETHOD(cmd->reply, append, "\n", 2, 1) == 0)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/rtpproxy/src/commands/rpcpv1_query.c
    constantsTouched: []
    func_position:
      end: 302
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 302
    functionName: handle_query
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_query.c
    functionUses: 1
    functionsReached:
    - handler
    - PULL_JRST
    - FMTSTR
    - NOT
    - PULL_PCNT
    - RTPP_LOG
    - handle_query_simple
    - strcmp
    - assert
    - CALL_SMETHOD
    - strlen
    - PULL_PCNT_STRM
    - CHECK_OVERFLOW
    - PULL_RST
    linkageType: ''
    returnType: int
    signature: "int handle_query(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd,\n  struct rtpp_pipe *spp, int idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:87,1
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:91,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:108,1
    - Dst: RTPP_OBJ_INCREF
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 123
    functionName: rtpp_cmd_delete_ematch
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_delete.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - compare_session_tags
    - RTPP_OBJ_INCREF
    linkageType: ''
    returnType: int
    signature: int rtpp_cmd_delete_ematch(void *dp, void *ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:134,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:137,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:140,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - cfsp
    - call_id
    - dep
    argTypes:
    - struct rtpp_cfg*
    - rtpp_str_t*
    - struct delete_ematch_arg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: do_delete
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_delete.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: int do_delete(const struct rtpp_cfg *cfsp, const rtpp_str_t *call_id,
      struct delete_ematch_arg *dep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:154,1
    - Dst: do_delete
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cfsp
    - ccap
    argTypes:
    - struct rtpp_cfg*
    - struct common_cmd_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: handle_delete
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_delete.c
    functionUses: 1
    functionsReached:
    - PUB2PVT
    - do_delete
    linkageType: ''
    returnType: int
    signature: int handle_delete(const struct rtpp_cfg *cfsp, struct common_cmd_args
      *ccap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUB2PVT
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:172,1
    - Dst: do_delete
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ap
    - scp
    argTypes:
    - struct after_success_h_args*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: handle_delete_as_subc
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_delete.c
    functionUses: 0
    functionsReached:
    - PUB2PVT
    - do_delete
    linkageType: ''
    returnType: int
    signature: "int handle_delete_as_subc(const struct after_success_h_args *ap,\n
      \ const struct rtpp_subc_ctx *scp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:188,1
    - Dst: PVT_RCOFFS
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:188,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:191,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:203,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:205,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_delete.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - cmd
    - ap
    argTypes:
    - struct rtpp_command*
    - struct rtpp_command_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: rtpp_command_del_opts_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_delete.c
    functionUses: 1
    functionsReached:
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - PVT_RCOFFS
    - CALL_SMETHOD
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct delete_opts
    signature: 'struct delete_opts *

      rtpp_command_del_opts_parse(struct rtpp_command *cmd, const struct rtpp_command_args
      *ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: FREE_IF_NULL
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_IF_NULL(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: BC_appendf
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BC_appendf(f, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: BC_append
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BC_append(b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:139,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:140,1
    - Dst: ishostnull
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:141,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:143,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:145,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:147,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:149,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:150,1
    - Dst: BC_append
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:156,1
    - Dst: BC_appendf
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:159,1
    - Dst: BC_append
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:162,1
    - Dst: BC_appendf
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:165,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:172,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:173,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:175,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:176,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:177,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - cmd
    - ulr
    argTypes:
    - struct rtpp_command*
    - struct ul_reply*
    assertStmts:
    - condition: (r == 0)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    - condition: (r == 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    - condition: (r == 0)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    - condition: (r == 0)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    - condition: (r == 0)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    constantsTouched: []
    func_position:
      end: 179
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 179
    functionName: ul_reply_port
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 1
    functionsReached:
    - assert
    - BC_appendf
    - CALL_SMETHOD
    - ishostnull
    - BC_append
    linkageType: ''
    returnType: void
    signature: void ul_reply_port(const struct rtpp_command *cmd, struct ul_reply
      *ulr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cfsp
    - ulop
    argTypes:
    - struct rtpp_cfg*
    - struct ul_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: ul_opts_init
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ul_opts_init(const struct rtpp_cfg *cfsp, struct ul_opts *ulop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FREE_IF_NULL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:196,1
    - Dst: FREE_IF_NULL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:197,1
    - Dst: FREE_IF_NULL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:198,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:200,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:203,1
    - Dst: free
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ulop
    argTypes:
    - struct ul_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: rtpp_command_ul_opts_free
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 1
    functionsReached:
    - free
    - FREE_IF_NULL
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void rtpp_command_ul_opts_free(struct ul_opts *ulop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ips
    - ','
    - pf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: IS_IPSTR_VALID
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_IPSTR_VALID(ips, pf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoumax
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:227,1
    - Dst: rtpp_packetport_get_int
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - addr
    - ppip
    argTypes:
    - char*
    - struct rtpp_packetport_int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: ul_opts_parse_packetport_i
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - rtpp_packetport_get_int
    - strtoumax
    linkageType: ''
    returnType: int
    signature: int ul_opts_parse_packetport_i(const char *addr, struct rtpp_packetport_int
      **ppip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoumax
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:246,1
    - Dst: strtoumax
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:250,1
    - Dst: ul_opts_parse_packetport_i
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - addr
    - port
    - ppref
    argTypes:
    - char*
    - rtpp_str_t*
    - struct rtpp_packetport_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 259
    functionName: ul_opts_parse_packetport
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - ul_opts_parse_packetport_i
    - strtoumax
    linkageType: ''
    returnType: int
    signature: "int ul_opts_parse_packetport(const char *addr, const rtpp_str_t *port,\n
      \ struct rtpp_packetport_ref *ppref)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:274,1
    - Dst: ul_opts_init
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:279,1
    - Dst: url_unquote
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:283,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:285,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:306,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:317,1
    - Dst: strtol
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:341,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:343,1
    - Dst: isdigit
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:354,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:358,1
    - Dst: malloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:362,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:367,1
    - Dst: extractlabel
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:376,1
    - Dst: extractaddr
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:378,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:381,1
    - Dst: alloca
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:385,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:386,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:390,1
    - Dst: ul_opts_parse_packetport_i
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:391,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:393,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:402,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:405,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:414,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:417,1
    - Dst: extractaddr
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:427,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:429,1
    - Dst: alloca
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:433,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:434,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:436,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:451,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:464,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:467,1
    - Dst: AF2STR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:468,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:475,1
    - Dst: ul_opts_parse_packetport
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:476,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:478,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:479,1
    - Dst: IS_IPSTR_VALID
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:487,1
    - Dst: resolve
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:488,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:488,1
    - Dst: ishostnull
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:490,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:490,1
    - Dst: malloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:492,1
    - Dst: SS_LEN
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:492,1
    - Dst: memcpy
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:497,1
    - Dst: SS_LEN
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:497,1
    - Dst: ntohs
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:500,1
    - Dst: satosin
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:500,1
    - Dst: satosin
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:501,1
    - Dst: htons
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:501,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:506,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:507,1
    - Dst: rtpp_command_ul_opts_free
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:516,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 229
    argCount: 4
    argNames:
    - cfsp
    - cmd
    - pcmd
    - ecodep
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_command_ul_pcmd*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 519
    functionName: rtpp_command_ul_opts_parse_inner
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - ul_opts_parse_packetport_i
    - rtpp_command_ul_opts_free
    - sstosa
    - ntohs
    - ishostnull
    - extractaddr
    - url_unquote
    - extractlabel
    - strtol
    - satosin
    - RTPP_LOG
    - CALL_SMETHOD
    - htons
    - AF2STR
    - alloca
    - rtpp_zmalloc
    - isdigit
    - FMTSTR
    - IS_IPSTR_VALID
    - SS_LEN
    - resolve
    - gai_strerror
    - malloc
    - memcpy
    - ul_opts_init
    - ul_opts_parse_packetport
    - memcmp
    linkageType: ''
    returnType: struct ul_opts
    signature: "struct ul_opts *\nrtpp_command_ul_opts_parse_inner(const struct rtpp_cfg
      *cfsp,\n  struct rtpp_command *cmd, struct rtpp_command_ul_pcmd *pcmd, int *ecodep)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:527,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:535,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:536,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:551,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:558,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - cmd
    - pcmd
    argTypes:
    - struct rtpp_command*
    - struct rtpp_command_ul_pcmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 586
    functionName: rtpp_command_ul_pre_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - rtpp_str_fix
    - memset
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_pre_parse(const struct rtpp_command *cmd,\n  struct
      rtpp_command_ul_pcmd *pcmd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_command_ul_pre_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:595,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:596,1
    - Dst: rtpp_command_ul_opts_parse_inner
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:600,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:603,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cfsp
    - cmd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 607
    functionName: rtpp_command_ul_opts_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 1
    functionsReached:
    - rtpp_command_ul_opts_parse_inner
    - rtpp_command_ul_pre_parse
    - CALL_SMETHOD
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: struct ul_opts
    signature: 'struct ul_opts *

      rtpp_command_ul_opts_parse(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:613,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:615,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cmd
    - ecode
    - spa
    argTypes:
    - struct rtpp_command*
    - int
    - struct rtpp_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 618
    functionName: handle_nomem
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: void
    signature: void handle_nomem(struct rtpp_command *cmd, int ecode, struct rtpp_session
      *spa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ishostnull
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:630,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:631,1
    - Dst: addr2char_r
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:637,1
    - Dst: rtpp_str_const_i
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:639,1
    - Dst: snprintf
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:643,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ulop
    - buf_t
    - blen
    argTypes:
    - struct ul_opts*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 646
    functionName: format_ul_reply_result
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - addr2char_r
    - rtpp_str_const_i
    - FMTSTR
    - snprintf
    - ishostnull
    linkageType: ''
    returnType: int
    signature: int format_ul_reply_result(const struct ul_opts *ulop, char *buf_t,
      size_t blen)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:677,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:678,1
    - Dst: UL_FAIL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:679,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:684,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:687,1
    - Dst: rtpp_stream_has_packetport
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:688,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:696,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:707,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:708,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:709,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:711,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:712,1
    - Dst: rtpp_create_listener
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:714,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:717,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:718,1
    - Dst: UL_FAIL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:719,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:721,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:723,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:726,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:728,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:730,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:731,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:732,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:737,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:739,1
    - Dst: UL_FAIL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:741,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:745,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:750,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:752,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:758,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:768,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:773,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:774,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:775,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:781,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:786,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:787,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:789,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:789,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:792,1
    - Dst: SA_AF2STR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:794,1
    - Dst: SA_AF2STR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:794,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:795,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:795,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:799,1
    - Dst: UL_FAIL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:801,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:804,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:805,1
    - Dst: UL_FAIL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:807,1
    - Dst: rtpp_session_ctor
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:819,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:821,1
    - Dst: UL_FAIL
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:822,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:828,1
    - Dst: handle_nomem
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:831,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:834,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:835,1
    - Dst: handle_nomem
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:836,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:845,1
    - Dst: rtpp_rlim_max
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:846,1
    - Dst: atomic_load
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:847,1
    - Dst: atomic_store
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:848,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:849,1
    - Dst: rtpp_rlim_max
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:852,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:857,1
    - Dst: handle_nomem
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:859,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:864,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:865,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:867,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:869,1
    - Dst: AF2STR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:871,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:871,1
    - Dst: RSF_MODE_DFLT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:874,1
    - Dst: handle_copy
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:875,1
    - Dst: handle_copy
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:876,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:879,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ_s
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:880,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:886,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:891,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:893,1
    - Dst: sstosa
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:894,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:897,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:898,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:901,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:902,1
    - Dst: rtpp_timeout_data_ctor
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:903,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:904,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:906,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:911,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:913,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:918,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:920,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:924,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:927,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:930,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:931,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:935,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:936,1
    - Dst: free
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:939,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:946,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:947,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:949,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:952,1
    - Dst: rtp_resizer_set_ptime
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:957,1
    - Dst: rtp_resizer_new
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:959,1
    - Dst: rtp_resizer_free
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:962,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:966,1
    - Dst: rtpp_stream_has_packetport
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:968,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:968,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:973,1
    - Dst: handler
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:982,1
    - Dst: ul_reply_port
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:988,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 243
    argCount: 3
    argNames:
    - cfsp
    - cmd
    - sidx
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 648
    functionDepth: 5
    functionLinenumber: 648
    functionLinenumberEnd: 994
    functionName: rtpp_command_ul_handle_impl
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - sstosa
    - RTPP_OBJ_DECREF
    - rtp_resizer_new
    - CALL_METHOD
    - rtp_resizer_free
    - ul_reply_port
    - handle_copy
    - rtpp_session_ctor
    - rtpp_create_listener
    - SA_AF2STR
    - rtpp_stream_has_packetport
    - RSF_MODE_DFLT
    - RTPP_LOG
    - rtpp_str_fix
    - RTPP_OBJ_DTOR_ATTACH_OBJ_s
    - CALL_SMETHOD
    - AF2STR
    - RTPP_DBG_ASSERT
    - free
    - UL_FAIL
    - handle_nomem
    - FMTSTR
    - rtp_resizer_set_ptime
    - rtpp_timeout_data_ctor
    - handler
    - atomic_store
    - NOT
    - rtpp_rlim_max
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_handle_impl(const struct rtpp_cfg *cfsp,\n  struct
      rtpp_command *cmd, int sidx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _ecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 675
    functionName: UL_FAIL
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UL_FAIL(_ecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_command_ul_handle_impl
      Src: /src/rtpproxy/src/commands/rpcpv1_ul.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cfsp
    - cmd
    - sidx
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 6
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: rtpp_command_ul_handle
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul.c
    functionUses: 1
    functionsReached:
    - rtpp_command_ul_handle_impl
    linkageType: ''
    returnType: int
    signature: int rtpp_command_ul_handle(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd, int sidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cfsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: RSF_MODE_DFLT
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_copy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSF_MODE_DFLT(cfsp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_zmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:64,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:66,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:70,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:71,1
    - Dst: strtol
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:74,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:76,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:77,1
    - Dst: rtpp_command_play_opts_free
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 87
    functionName: rtpp_command_play_opts_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_play.c
    functionUses: 1
    functionsReached:
    - rtpp_zmalloc
    - strtol
    - rtpp_str_fix
    - RTPP_LOG
    - CALL_SMETHOD
    - rtpp_command_play_opts_free
    linkageType: ''
    returnType: struct play_opts
    signature: 'struct play_opts *

      rtpp_command_play_opts_parse(struct rtpp_command *cmd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plop
    argTypes:
    - struct play_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: rtpp_command_play_opts_free
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_play.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rtpp_command_play_opts_free(struct play_opts *plop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:104,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:106,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:108,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:125,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:126,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:129,1
    - Dst: rtpp_command_play_opts_free
      Src: /src/rtpproxy/src/commands/rpcpv1_play.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - rsp
    - cmd
    - cfsp
    argTypes:
    - struct rtpp_stream*
    - struct rtpp_command*
    - struct rtpp_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: rtpp_command_play_handle
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_play.c
    functionUses: 1
    functionsReached:
    - strcmp
    - rtpp_command_play_opts_free
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: "void rtpp_command_play_handle(struct rtpp_stream *rsp, struct rtpp_command
      *cmd,\n  const struct rtpp_cfg *cfsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:72,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:73,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:75,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:78,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cfsp
    - spa
    - idx
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_session*
    - int
    assertStmts:
    - condition: (spa->rtcp->stream[idx]->rrc != NULL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/rtpproxy/src/commands/rpcpv1_norecord.c
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: handle_stop_record
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_norecord.c
    functionUses: 0
    functionsReached:
    - RTPP_LOG
    - assert
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: int handle_stop_record(const struct rtpp_cfg *cfsp, struct rtpp_session
      *spa, int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:95,1
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:98,1
    - Dst: handle_stop_record
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:103,1
    - Dst: handle_stop_record
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:106,1
    - Dst: NOT
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: rtpp_cmd_norecord_ematch
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_norecord.c
    functionUses: 0
    functionsReached:
    - compare_session_tags
    - handle_stop_record
    - NOT
    linkageType: ''
    returnType: int
    signature: int rtpp_cmd_norecord_ematch(void *dp, void *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:117,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_norecord.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - cfsp
    - ccap
    - all
    argTypes:
    - struct rtpp_cfg*
    - struct common_cmd_args*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: handle_norecord
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_norecord.c
    functionUses: 1
    functionsReached:
    - memset
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int handle_norecord(const struct rtpp_cfg *cfsp, struct common_cmd_args
      *ccap, int all)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:73,1
    - Dst: compare_session_tags
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:76,1
    - Dst: handle_copy
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: rtpp_cmd_record_ematch
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_record.c
    functionUses: 0
    functionsReached:
    - compare_session_tags
    - handle_copy
    linkageType: ''
    returnType: int
    signature: int rtpp_cmd_record_ematch(void *dp, void *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:94,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:99,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cfsp
    - cmd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: handle_record
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_record.c
    functionUses: 1
    functionsReached:
    - memset
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int handle_record(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:115,1
    - Dst: PUB_RCOFFS
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:115,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:117,1
    - Dst: RSF_MODE_DFLT
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:124,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:130,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:133,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:140,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:142,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_record.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - cfsp
    - cmd
    - ap
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_command_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 152
    functionName: rtpp_command_record_opts_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_record.c
    functionUses: 1
    functionsReached:
    - PUB_RCOFFS
    - RSF_MODE_DFLT
    - RTPP_OBJ_DECREF
    - RTPP_LOG
    - CALL_SMETHOD
    - rtpp_rzmalloc
    linkageType: ''
    returnType: struct record_opts
    signature: "struct record_opts *\nrtpp_command_record_opts_parse(const struct
      rtpp_cfg *cfsp, struct rtpp_command *cmd,\n  const struct rtpp_command_args
      *ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: CHECK_OVERFLOW
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_stats.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OVERFLOW()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:61,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:62,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:65,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:66,1
    - Dst: FMTSTR
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:67,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:69,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:70,1
    - Dst: CHECK_OVERFLOW
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:75,1
    - Dst: assert
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:76,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:76,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:77,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_stats.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - rsp
    - cmd
    - verbose
    argTypes:
    - struct rtpp_stats*
    - struct rtpp_command*
    - int
    assertStmts:
    - condition: (CALL_SMETHOD(cmd->reply, append, "\n", 2, 1) == 0)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/rtpproxy/src/commands/rpcpv1_stats.c
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: handle_get_stats
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_stats.c
    functionUses: 1
    functionsReached:
    - FMTSTR
    - assert
    - CHECK_OVERFLOW
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: int handle_get_stats(struct rtpp_stats *rsp, struct rtpp_command *cmd,
      int verbose)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ver.c:93,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ver.c:94,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ver.c:95,1
    - Dst: strcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ver.c:99,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ver.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - cfsp
    - cmd
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: handle_ver_feature
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ver.c
    functionUses: 1
    functionsReached:
    - strcmp
    - CALL_METHOD
    - CALL_SMETHOD
    linkageType: ''
    returnType: void
    signature: void handle_ver_feature(const struct rtpp_cfg *cfsp, struct rtpp_command
      *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/commands/rpcpv1_ver.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - prevp
    argTypes:
    - struct proto_cap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: iterate_proto_caps
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ver.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: struct proto_cap
    signature: 'struct proto_cap *

      iterate_proto_caps(const struct proto_cap *prevp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:80,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:86,1
    - Dst: rtpp_str_fix
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - call_id
    - from_tag
    - to_tag
    - subc_args
    - pcmd
    argTypes:
    - rtpp_str_t*
    - rtpp_str_t*
    - rtpp_str_t*
    - struct rtpp_command_args*
    - struct rtpp_command_ul_pcmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: rtpp_command_ul_subc_pre_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
    functionUses: 0
    functionsReached:
    - rtpp_str_fix
    - memset
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_subc_pre_parse(const rtpp_str_t *call_id,\n  const
      rtpp_str_t *from_tag, const rtpp_str_t *to_tag,\n  const struct rtpp_command_args
      *subc_args, struct rtpp_command_ul_pcmd *pcmd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:100,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:101,1
    - Dst: rtpp_command_ul_handle_impl
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:111,1
    - Dst: format_ul_reply_result
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ap
    - scp
    argTypes:
    - struct after_success_h_args*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: rtpp_command_ul_as_subc
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
    functionUses: 0
    functionsReached:
    - rtpp_command_ul_handle_impl
    - RTPP_DBG_ASSERT
    - format_ul_reply_result
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_as_subc(const struct after_success_h_args *ap,\n
      \ const struct rtpp_subc_ctx *scp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_command_ul_subc_pre_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:135,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:138,1
    - Dst: rtpp_command_ul_opts_parse_inner
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:143,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:156,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:161,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:162,1
    - Dst: free
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - cfsp
    - cmd
    - subc_args
    - asp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_command_args*
    - struct after_success_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 170
    functionName: rtpp_command_ul_look_subc_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
    functionUses: 0
    functionsReached:
    - free
    - rtpp_command_ul_subc_pre_parse
    - RTPP_OBJ_DTOR_ATTACH_OBJ
    - RTPP_OBJ_DECREF
    - RTPP_OBJ_DTOR_ATTACH_s
    - rtpp_command_ul_opts_parse_inner
    - rtpp_rzmalloc
    linkageType: ''
    returnType: int
    signature: "int rtpp_command_ul_look_subc_parse(const struct rtpp_cfg *cfsp,\n
      \ struct rtpp_command *cmd, const struct rtpp_command_args *subc_args,\n  struct
      after_success_h *asp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi_safe_sep
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:180,1
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:182,1
    - Dst: CALL_METHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cfsp
    - ip
    - asp
    argTypes:
    - struct rtpp_cfg*
    - char*
    - struct after_success_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: handle_mod_subc_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
    functionUses: 0
    functionsReached:
    - CALL_METHOD
    - atoi_safe_sep
    - atoi_safe
    linkageType: ''
    returnType: int
    signature: "int handle_mod_subc_parse(const struct rtpp_cfg *cfsp, const char
      *ip,\n  struct after_success_h *asp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: handle_mod_subc_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:204,1
    - Dst: RTPP_LOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:206,1
    - Dst: rtpp_command_del_opts_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:216,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:220,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:221,1
    - Dst: handle_set_subc_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:232,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_OBJ
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:236,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:237,1
    - Dst: rtpp_command_ul_look_subc_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:244,1
    - Dst: rtpp_command_ul_copy_subc_parse
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c:248,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - cfsp
    - cmd
    - subc_args
    - asp
    argTypes:
    - struct rtpp_cfg*
    - struct rtpp_command*
    - struct rtpp_command_args*
    - struct after_success_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 254
    functionName: rtpp_subcommand_ul_opts_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
    functionUses: 1
    functionsReached:
    - rtpp_command_ul_look_subc_parse
    - RTPP_OBJ_DTOR_ATTACH_OBJ
    - rtpp_command_del_opts_parse
    - RTPP_OBJ_DECREF
    - rtpp_command_ul_copy_subc_parse
    - RTPP_LOG
    - handle_set_subc_parse
    - handle_mod_subc_parse
    linkageType: ''
    returnType: int
    signature: "int rtpp_subcommand_ul_opts_parse(const struct rtpp_cfg *cfsp, struct
      rtpp_command *cmd,\n  const struct rtpp_command_args *subc_args, struct after_success_h
      *asp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:60,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:63,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:64,1
    - Dst: RTPP_ELOG
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - rscp
    - strmp
    - val
    argTypes:
    - struct rtpp_subc_ctx*
    - struct rtpp_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: strmp_settos
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c
    functionUses: 0
    functionsReached:
    - RTPP_ELOG
    - CALL_SMETHOD
    - RTPP_OBJ_DECREF
    linkageType: ''
    returnType: int
    signature: int strmp_settos(const struct rtpp_subc_ctx *rscp, struct rtpp_stream
      *strmp, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_parse_rtp_rtcp_val
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cp
    - set_arg
    - minval
    argTypes:
    - char*
    - struct rtpp_subcommand_set*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: parse_rtp_rtcp_vals
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c
    functionUses: 0
    functionsReached:
    - rtpp_parse_rtp_rtcp_val
    linkageType: ''
    returnType: int
    signature: "int parse_rtp_rtcp_vals(const char *cp, struct rtpp_subcommand_set
      *set_arg,\n  int minval)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:107,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:115,1
    - Dst: strmp_settos
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:119,1
    - Dst: get_rtcp_pair
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:121,1
    - Dst: strmp_settos
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:124,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:129,1
    - Dst: get_rtcp_pair
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:130,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:133,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:137,1
    - Dst: get_rtcp_pair
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:138,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:141,1
    - Dst: abort
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:145,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - ashap
    - rscp
    argTypes:
    - struct after_success_h_args*
    - struct rtpp_subc_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 148
    functionName: rtpp_subcommand_set_handler
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c
    functionUses: 0
    functionsReached:
    - abort
    - strmp_settos
    - get_rtcp_pair
    - CALL_SMETHOD
    linkageType: ''
    returnType: int
    signature: "int rtpp_subcommand_set_handler(const struct after_success_h_args
      *ashap,\n  const struct rtpp_subc_ctx *rscp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:163,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:166,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:169,1
    - Dst: memcmp
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:172,1
    - Dst: parse_rtp_rtcp_vals
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:181,1
    - Dst: parse_rtp_rtcp_vals
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:186,1
    - Dst: atoi_safe
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:191,1
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 4
    argNames:
    - cfsp
    - cp
    - v
    - asp
    argTypes:
    - struct rtpp_cfg*
    - char*
    - rtpp_str_const_t*
    - struct after_success_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 207
    functionName: handle_set_subc_parse
    functionSourceFile: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c
    functionUses: 1
    functionsReached:
    - rtpp_rzmalloc
    - memcmp
    - parse_rtp_rtcp_vals
    - atoi_safe
    linkageType: ''
    returnType: struct rtpp_subcommand_set
    signature: "struct rtpp_subcommand_set *\nhandle_set_subc_parse(const struct rtpp_cfg
      *cfsp, const char *cp,\n  const rtpp_str_const_t *v, struct after_success_h
      *asp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unw_getcontext
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:43,1
    - Dst: unw_init_local
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:44,1
    - Dst: unw_step
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:46,1
    - Dst: unw_get_reg
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: getreturnaddr
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_luw.c
    functionUses: 1
    functionsReached:
    - unw_init_local
    - unw_get_reg
    - unw_step
    - unw_getcontext
    linkageType: ''
    returnType: void
    signature: 'void *

      getreturnaddr(int level)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unw_getcontext
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:62,1
    - Dst: unw_init_local
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:63,1
    - Dst: unw_step
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:67,1
    - Dst: unw_get_reg
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: backtrace
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_luw.c
    functionUses: 2
    functionsReached:
    - unw_init_local
    - unw_get_reg
    - unw_step
    - unw_getcontext
    linkageType: ''
    returnType: int
    signature: int backtrace(void **buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unw_getcontext
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:90,1
    - Dst: unw_init_local
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:91,1
    - Dst: unw_step
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:94,1
    - Dst: unw_get_reg
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:95,1
    - Dst: ROR
      Src: /src/rtpproxy/libexecinfo/execinfo_luw.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: getstackcookie
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_luw.c
    functionUses: 0
    functionsReached:
    - ROR
    - unw_get_reg
    - unw_getcontext
    - unw_init_local
    - unw_step
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t getstackcookie(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc1.c:39,1
    - Dst: testfunc1
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc1.c:41,1
    - Dst: testfunc
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc1.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - caller
    - rlev
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: testfunc1
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_testfunc1.c
    functionUses: 1
    functionsReached:
    - random
    - testfunc1
    - testfunc
    linkageType: ''
    returnType: int
    signature: int testfunc1(const void *caller, int rlev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testfunc
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:50,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:52,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:54,1
    - Dst: testfunc1
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:55,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:57,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:59,1
    - Dst: testfunc1
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:60,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:61,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:62,1
    - Dst: getreturnaddr
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:62,1
    - Dst: getstackcookie
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:63,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - cp
    argTypes:
    - void*
    assertStmts:
    - condition: (r >= 2)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (r >= 3)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (r == 3)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (r == 4)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (r == STACKTRAVERSE_MAX_LEVELS)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (getreturnaddr(0) != NULL)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (sc != 0)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: testbody
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_check.c
    functionUses: 0
    functionsReached:
    - getstackcookie
    - getreturnaddr
    - testfunc1
    - assert
    - testfunc
    linkageType: ''
    returnType: int
    signature: int testbody(void *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testbody
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: wrkthr
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_check.c
    functionUses: 0
    functionsReached:
    - testbody
    linkageType: ''
    returnType: void
    signature: 'void *

      wrkthr(void *pa)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:84,1
    - Dst: backtrace
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:84,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:85,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:86,1
    - Dst: execinfo_set_topframe
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:86,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:87,1
    - Dst: testbody
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:87,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:88,1
    - Dst: pthread_create
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:88,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:89,1
    - Dst: pthread_join
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:89,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_check.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (topframe[0] != NULL)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (backtrace(topframe, 1) == 1)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (execinfo_set_topframe(topframe[0]) == NULL)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (testbody(main) == 0)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (pthread_create(&tp, NULL, wrkthr, NULL) == 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (jp == (void *)42)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    - condition: (pthread_join(tp, &jp) == 0)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_check.c
    functionUses: 1
    functionsReached:
    - testbody
    - backtrace
    - execinfo_set_topframe
    - pthread_join
    - assert
    - pthread_create
    - memset
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: get_d10
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_d10(int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tfp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: execinfo_set_topframe
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      execinfo_set_topframe(const void *tfp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getframeaddr
      Src: /src/rtpproxy/libexecinfo/execinfo.c:93,1
    - Dst: getreturnaddr
      Src: /src/rtpproxy/libexecinfo/execinfo.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: backtrace
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 3
    functionsReached:
    - getreturnaddr
    - getframeaddr
    linkageType: ''
    returnType: int
    signature: int backtrace(void **buffer, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getframeaddr
      Src: /src/rtpproxy/libexecinfo/execinfo.c:112,1
    - Dst: getreturnaddr
      Src: /src/rtpproxy/libexecinfo/execinfo.c:113,1
    - Dst: ROR
      Src: /src/rtpproxy/libexecinfo/execinfo.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: getstackcookie
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 1
    functionsReached:
    - ROR
    - getreturnaddr
    - getframeaddr
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t getstackcookie(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/rtpproxy/libexecinfo/execinfo.c:135,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:142,1
    - Dst: strlen
      Src: /src/rtpproxy/libexecinfo/execinfo.c:146,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:148,1
    - Dst: strlen
      Src: /src/rtpproxy/libexecinfo/execinfo.c:150,1
    - Dst: snprintf
      Src: /src/rtpproxy/libexecinfo/execinfo.c:152,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:155,1
    - Dst: snprintf
      Src: /src/rtpproxy/libexecinfo/execinfo.c:159,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 173
    functionName: backtrace_symbols
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 2
    functionsReached:
    - strlen
    - dladdr
    - get_d10
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char **

      backtrace_symbols(void *const *buffer, int size)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/rtpproxy/libexecinfo/execinfo.c:185,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:192,1
    - Dst: strlen
      Src: /src/rtpproxy/libexecinfo/execinfo.c:196,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:198,1
    - Dst: strlen
      Src: /src/rtpproxy/libexecinfo/execinfo.c:200,1
    - Dst: alloca
      Src: /src/rtpproxy/libexecinfo/execinfo.c:202,1
    - Dst: snprintf
      Src: /src/rtpproxy/libexecinfo/execinfo.c:205,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:208,1
    - Dst: alloca
      Src: /src/rtpproxy/libexecinfo/execinfo.c:212,1
    - Dst: snprintf
      Src: /src/rtpproxy/libexecinfo/execinfo.c:215,1
    - Dst: write
      Src: /src/rtpproxy/libexecinfo/execinfo.c:217,1
    - Dst: strlen
      Src: /src/rtpproxy/libexecinfo/execinfo.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - buffer
    - size
    - fd
    argTypes:
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 219
    functionName: backtrace_symbols_fd
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 0
    functionsReached:
    - alloca
    - write
    - dladdr
    - snprintf
    - strlen
    - get_d10
    linkageType: ''
    returnType: void
    signature: void backtrace_symbols_fd(void *const *buffer, int size, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo.c:230,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:230,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo.c:231,1
    - Dst: get_d10
      Src: /src/rtpproxy/libexecinfo/execinfo.c:231,1
    - Dst: backtrace_symbols_fd
      Src: /src/rtpproxy/libexecinfo/execinfo.c:232,1
    - Dst: fileno
      Src: /src/rtpproxy/libexecinfo/execinfo.c:232,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo.c:233,1
    - Dst: backtrace_symbols
      Src: /src/rtpproxy/libexecinfo/execinfo.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (get_d10(-1) == 2)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/rtpproxy/libexecinfo/execinfo.c
    - condition: (get_d10(-100) == 4)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/rtpproxy/libexecinfo/execinfo.c
    - condition: (backtrace_symbols(faketrace, 4) != NULL)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/rtpproxy/libexecinfo/execinfo.c
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: execinfo_TEST
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols_fd
    - fileno
    - backtrace_symbols
    - assert
    - get_d10
    linkageType: ''
    returnType: int
    signature: int execinfo_TEST(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:44,1
    - Dst: backtrace
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:45,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:46,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:47,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:49,1
    - Dst: getreturnaddr
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:49,1
    - Dst: backtrace_symbols
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:50,1
    - Dst: assert
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:51,1
    - Dst: backtrace_symbols_fd
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:52,1
    - Dst: fileno
      Src: /src/rtpproxy/libexecinfo/execinfo_testfunc.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - caller
    - rnum
    argTypes:
    - void*
    - int
    assertStmts:
    - condition: (array[0] > caller)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc.c
    - condition: (size > 0)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc.c
    - condition: (getreturnaddr(size) != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc.c
    - condition: (strings != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc.c
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: testfunc
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_testfunc.c
    functionUses: 2
    functionsReached:
    - getreturnaddr
    - backtrace
    - backtrace_symbols_fd
    - fileno
    - backtrace_symbols
    - assert
    - memset
    linkageType: ''
    returnType: int
    signature: int testfunc(const void *caller, int rnum)
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:14,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:15,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:16,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:17,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:18,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:19,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:20,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:21,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:22,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:23,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:24,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:25,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:26,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:27,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:28,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:29,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:30,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:31,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:32,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:33,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:34,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:35,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:36,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:37,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:38,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:39,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:40,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:41,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:42,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:43,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:44,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:45,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:46,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:47,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:48,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:49,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:50,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:51,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:52,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:53,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:54,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:55,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:56,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:57,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:58,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:59,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:60,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:61,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:62,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:63,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:64,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:65,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:66,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:67,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:68,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:69,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:70,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:71,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:72,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:73,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:74,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:75,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:76,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:77,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:78,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:79,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:80,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:81,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:82,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:83,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:84,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:85,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:86,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:87,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:88,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:89,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:90,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:91,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:92,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:93,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:94,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:95,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:96,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:97,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:98,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:99,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:100,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:101,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:102,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:103,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:104,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:105,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:106,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:107,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:108,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:109,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:110,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:111,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:112,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:113,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:114,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:115,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:116,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:117,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:118,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:119,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:120,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:121,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:122,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:123,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:124,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:125,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:126,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:127,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:128,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:129,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:130,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:131,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:132,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:133,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:134,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:135,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:136,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:137,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:138,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:139,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:140,1
    - Dst: __builtin_return_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 261
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 144
    functionName: getreturnaddr
    functionSourceFile: /src/rtpproxy/libexecinfo/stacktraverse.c
    functionUses: 5
    functionsReached:
    - __builtin_return_address
    linkageType: ''
    returnType: void
    signature: 'void *

      getreturnaddr(int level)'
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:151,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:152,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:153,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:154,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:155,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:156,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:157,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:158,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:159,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:160,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:161,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:162,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:163,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:164,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:165,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:166,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:167,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:168,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:169,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:170,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:171,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:172,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:173,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:174,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:175,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:176,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:177,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:178,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:179,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:180,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:181,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:182,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:183,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:184,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:185,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:186,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:187,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:188,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:189,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:190,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:191,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:192,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:193,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:194,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:195,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:196,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:197,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:198,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:199,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:200,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:201,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:202,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:203,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:204,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:205,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:206,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:207,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:208,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:209,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:210,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:211,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:212,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:213,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:214,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:215,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:216,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:217,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:218,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:219,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:220,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:221,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:222,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:223,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:224,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:225,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:226,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:227,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:228,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:229,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:230,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:231,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:232,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:233,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:234,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:235,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:236,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:237,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:238,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:239,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:240,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:241,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:242,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:243,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:244,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:245,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:246,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:247,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:248,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:249,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:250,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:251,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:252,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:253,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:254,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:255,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:256,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:257,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:258,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:259,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:260,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:261,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:262,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:263,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:264,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:265,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:266,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:267,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:268,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:269,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:270,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:271,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:272,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:273,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:274,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:275,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:276,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:277,1
    - Dst: __builtin_frame_address
      Src: /src/rtpproxy/libexecinfo/stacktraverse.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 261
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 281
    functionName: getframeaddr
    functionSourceFile: /src/rtpproxy/libexecinfo/stacktraverse.c
    functionUses: 2
    functionsReached:
    - __builtin_frame_address
    linkageType: ''
    returnType: void
    signature: 'void *

      getframeaddr(int level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - sft
    argTypes:
    - uintptr_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ROR
    functionSourceFile: /src/rtpproxy/libexecinfo/execinfo_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ROR(uintptr_t x, unsigned int sft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_genuid_gen_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_genuid_gen_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:18,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_genuid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: rtpp_genuid_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_genuid_fin(struct rtpp_genuid *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:41,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:42,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:43,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:48,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:50,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:51,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_genuid_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: rtpp_genuid_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_genuid_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_wref_fin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: addr2bindaddr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void addr2bindaddr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: bindaddr4af_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void bindaddr4af_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: host2bindaddr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void host2bindaddr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: label2bindaddr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void label2bindaddr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: local4remote_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void local4remote_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:38,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:39,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:40,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:41,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:42,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_bindaddrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: rtpp_bindaddrs_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_bindaddrs_fin(struct rtpp_bindaddrs *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:65,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:66,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:67,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:76,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:78,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:79,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:80,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:81,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:82,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    - condition: ((_naborts - naborts_s) == 5)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: rtpp_bindaddrs_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_bindaddrs_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_refproxy_add_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_refproxy_add_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:18,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_refproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: rtpp_refproxy_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_refproxy_fin(struct rtpp_refproxy *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:41,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:42,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:43,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:48,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:50,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:51,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: rtpp_refproxy_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_refproxy_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_wref_getref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wref_getref_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_wref_setref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wref_setref_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:23,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:24,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_wref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: rtpp_wref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_wref_fin(struct rtpp_wref *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:47,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:48,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:49,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:55,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:57,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:58,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:59,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_wref_fin.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    - condition: ((_naborts - naborts_s) == 2)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: rtpp_wref_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_wref_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_socket_bind_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_bind_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_socket_drain_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_drain_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_socket_get_session_link_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_get_session_link_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_socket_get_stream_link_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_get_stream_link_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_socket_get_stuid_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_get_stuid_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_socket_getfd_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_getfd_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rtpp_socket_link_session_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_link_session_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: rtpp_socket_link_stream_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_link_stream_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:43,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: rtpp_socket_rtp_recv_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_rtp_recv_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:47,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: rtpp_socket_send_pkt_na_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_send_pkt_na_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:51,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: rtpp_socket_set_stuid_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_set_stuid_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:55,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: rtpp_socket_setnonblock_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_setnonblock_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:59,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: rtpp_socket_setrbuf_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_setrbuf_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:63,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: rtpp_socket_settimestamp_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_settimestamp_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:67,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: rtpp_socket_settos_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_settos_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:88,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:89,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:90,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:91,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:92,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:93,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:94,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:95,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:96,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:97,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:98,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:99,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:100,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:101,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:102,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_socket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: rtpp_socket_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_fin(struct rtpp_socket *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:125,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:126,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:127,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:146,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:148,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:149,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:150,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:151,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:152,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:153,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:154,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:155,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:156,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:157,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:158,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:159,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:160,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:161,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:162,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:163,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_socket_fin.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    - condition: ((_naborts - naborts_s) == 15)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    constantsTouched: []
    func_position:
      end: 165
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 165
    functionName: rtpp_socket_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_socket_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_socket_fin.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:12,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: rtpp_module_if_construct_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_construct_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:16,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: rtpp_module_if_do_acct_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_do_acct_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:20,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: rtpp_module_if_do_acct_rtcp_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_do_acct_rtcp_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:24,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: rtpp_module_if_get_mconf_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_get_mconf_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:28,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: rtpp_module_if_kaput_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_kaput_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:32,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: rtpp_module_if_load_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_load_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:36,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: rtpp_module_if_start_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_start_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:40,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:41,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:43,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:44,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:46,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:47,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:49,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:50,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:52,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:53,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:55,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:56,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:58,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_module_if*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: rtpp_module_if_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_fin(struct rtpp_module_if *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:81,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:82,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:83,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:91,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:93,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:94,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:95,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:96,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:97,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:98,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:99,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:100,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_module_if_fin.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    - condition: ((_naborts - naborts_s) == 7)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    constantsTouched: []
    func_position:
      end: 102
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: rtpp_module_if_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_module_if_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_stats_getidxbyname_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_getidxbyname_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_stats_getlvalbyname_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_getlvalbyname_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_stats_getnstats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_getnstats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_stats_nstr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_nstr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_stats_update_derived_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_update_derived_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_stats_updatebyidx_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_updatebyidx_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rtpp_stats_updatebyname_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_updatebyname_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: rtpp_stats_updatebyname_d_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_updatebyname_d_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:53,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:54,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:55,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:56,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:57,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:58,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:59,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:60,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: rtpp_stats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_fin(struct rtpp_stats *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:84,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:85,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:97,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:99,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:100,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:101,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:102,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:103,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:104,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:105,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:106,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:107,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_stats_fin.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    - condition: ((_naborts - naborts_s) == 8)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: rtpp_stats_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_stats_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_record_write_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_record_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_record_write_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:18,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: rtpp_record_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_record_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_record_fin(struct rtpp_record *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_record_fin.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:41,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:42,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:43,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:48,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:50,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:51,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_record_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_record_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/autosrc/rtpp_record_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/autosrc/rtpp_record_fin.c
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: rtpp_record_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_record_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_record_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_ttl_decr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_decr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_ttl_get_remaining_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_get_remaining_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_ttl_reset_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_reset_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_ttl_reset_with_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_reset_with_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:33,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:34,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:35,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:36,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_ttl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: rtpp_ttl_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_fin(struct rtpp_ttl *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:59,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:60,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:61,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:69,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:71,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:72,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:73,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:74,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:75,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_ttl_fin.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    - condition: ((_naborts - naborts_s) == 4)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: rtpp_ttl_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_ttl_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:12,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: rtpp_modman_do_acct_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_do_acct_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:16,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: rtpp_modman_get_next_id_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_get_next_id_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:20,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: rtpp_modman_get_ul_subc_h_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_get_ul_subc_h_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:24,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: rtpp_modman_insert_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_insert_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:28,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: rtpp_modman_startall_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_startall_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:32,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:33,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:35,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:36,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:38,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:39,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:41,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:42,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:44,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_modman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: rtpp_modman_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_fin(struct rtpp_modman *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:67,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:68,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:69,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:75,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:77,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:78,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:79,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:80,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:81,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:82,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_modman_fin.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    - condition: ((_naborts - naborts_s) == 5)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: rtpp_modman_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_modman_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:12,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: rtpp_timed_task_cancel_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_task_cancel_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:16,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_timed_task*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: rtpp_timed_task_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_task_fin(struct rtpp_timed_task *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:39,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:40,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:41,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:43,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:45,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:46,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: rtpp_timed_task_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_task_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_ringbuf_flush_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_flush_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_ringbuf_locate_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_locate_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_ringbuf_push_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_push_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:29,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:30,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_ringbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: rtpp_ringbuf_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_fin(struct rtpp_ringbuf *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:53,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:54,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:55,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:62,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:64,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:65,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:66,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:67,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    - condition: ((_naborts - naborts_s) == 3)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: rtpp_ringbuf_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_ringbuf_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_wrt_foreach_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_foreach_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_wrt_get_by_idx_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_get_by_idx_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_wrt_get_length_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_get_length_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_wrt_move_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_move_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_wrt_purge_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_purge_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_wrt_reg_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_reg_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rtpp_wrt_set_on_first_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_set_on_first_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: rtpp_wrt_set_on_last_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_set_on_last_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:43,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: rtpp_wrt_unreg_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_wrt_unreg_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:58,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:59,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:60,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:61,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:62,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:63,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:64,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:65,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:66,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_weakref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: rtpp_weakref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_weakref_fin(struct rtpp_weakref *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:89,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:90,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:91,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:104,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:106,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:107,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:108,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:109,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:110,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:111,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:112,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:113,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:114,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:115,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_weakref_fin.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    - condition: ((_naborts - naborts_s) == 9)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: rtpp_weakref_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_weakref_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_packetport_next_in_port_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_next_in_port_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_packetport_next_out_port_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_next_out_port_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_packetport_reg_stream_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_reg_stream_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_packetport_reg_streams_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_reg_streams_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_packetport_send_pkt_na_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_send_pkt_na_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_packetport_unreg_stream_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_unreg_stream_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:43,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:44,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:45,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:46,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:47,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:48,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_packetport_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: rtpp_packetport_int_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_int_fin(struct rtpp_packetport_int *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:71,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:72,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:73,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:83,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:85,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:86,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:87,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:88,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:89,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:90,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:91,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_packetport_fin.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    - condition: ((_naborts - naborts_s) == 6)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    constantsTouched: []
    func_position:
      end: 93
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 93
    functionName: rtpp_packetport_int_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_packetport_int_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: hash_table_append_refcnt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_append_refcnt_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: hash_table_append_str_refcnt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_append_str_refcnt_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: hash_table_find_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_find_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: hash_table_find_str_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_find_str_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: hash_table_foreach_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_foreach_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: hash_table_foreach_key_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_foreach_key_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: hash_table_foreach_key_str_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_foreach_key_str_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: hash_table_get_length_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_get_length_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:43,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: hash_table_purge_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_purge_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:47,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: hash_table_remove_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_remove_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:51,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: hash_table_remove_by_key_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_remove_by_key_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:55,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: hash_table_remove_str_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_remove_str_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:59,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: hash_table_transfer_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hash_table_transfer_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:78,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:79,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:80,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:81,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:82,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:83,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:84,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:85,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:86,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:87,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:88,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:89,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:90,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_hash_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: rtpp_hash_table_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_hash_table_fin(struct rtpp_hash_table *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:113,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:114,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:115,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:132,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:134,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:135,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:136,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:137,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:138,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:139,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:140,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:141,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:142,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:143,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:144,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:145,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:146,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:147,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    - condition: ((_naborts - naborts_s) == 13)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    constantsTouched: []
    func_position:
      end: 149
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 149
    functionName: rtpp_hash_table_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_hash_table_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_port_table_fin.h
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_si_append_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_si_append_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_si_remove_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_si_remove_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_si_sync_polltbl_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_si_sync_polltbl_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_si_update_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_si_update_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:33,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:34,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:35,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:36,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_sessinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: rtpp_sessinfo_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_sessinfo_fin(struct rtpp_sessinfo *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:59,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:60,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:61,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:69,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:71,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:72,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:73,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:74,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:75,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    - condition: ((_naborts - naborts_s) == 4)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: rtpp_sessinfo_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_sessinfo_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_proc_servers_plr_start_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_plr_start_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_proc_servers_reg_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_reg_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_proc_servers_unreg_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_unreg_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:29,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:30,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_proc_servers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: rtpp_proc_servers_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_fin(struct rtpp_proc_servers *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:53,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:54,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:55,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:62,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:64,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:65,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:66,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:67,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    - condition: ((_naborts - naborts_s) == 3)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: rtpp_proc_servers_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_servers_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_proc_wakeup_nudge_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_wakeup_nudge_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:18,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_proc_wakeup*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: rtpp_proc_wakeup_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_wakeup_fin(struct rtpp_proc_wakeup *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:41,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:42,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:43,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:48,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:50,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:51,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: rtpp_proc_wakeup_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_proc_wakeup_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.h
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.h
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.h
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.h
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:12,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: rtpp_ptbl_get_port_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_ptbl_get_port_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:16,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_port_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: rtpp_port_table_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_port_table_fin(struct rtpp_port_table *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:39,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:40,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:41,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:43,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:45,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:46,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_port_table_fin.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: rtpp_port_table_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_port_table_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.h
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpc_reply_append_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_append_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpc_reply_append_port_addr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_append_port_addr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpc_reply_append_port_addr_s_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_append_port_addr_s_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpc_reply_appendf_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_appendf_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpc_reply_commit_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_commit_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpc_reply_deliver_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rtpc_reply_deliver_error_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_error_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: rtpc_reply_deliver_number_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_number_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:43,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: rtpc_reply_deliver_ok_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_ok_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:47,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: rtpc_reply_deliver_port_addr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_deliver_port_addr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:51,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: rtpc_reply_reserve_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_reserve_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:68,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:69,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:70,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:71,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:72,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:73,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:74,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:75,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:76,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:77,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:78,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpc_reply*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: rtpc_reply_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_fin(struct rtpc_reply *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:101,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:102,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:103,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:118,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:120,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:121,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:122,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:123,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:124,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:125,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:126,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:127,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:128,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:129,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:130,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:131,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((_naborts - naborts_s) == 11)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    constantsTouched: []
    func_position:
      end: 133
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 133
    functionName: rtpc_reply_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpc_reply_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_server_get_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_server_get_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_server_get_seq_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_server_get_seq_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_server_get_ssrc_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_server_get_ssrc_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_server_set_seq_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_server_set_seq_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_server_set_ssrc_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_server_set_ssrc_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_server_start_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_server_start_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:43,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:44,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:45,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:46,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:47,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:48,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: rtpp_server_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_server_fin(struct rtpp_server *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:71,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:72,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:73,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:83,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:85,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:86,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:87,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:88,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:89,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:90,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:91,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_server_fin.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/rtpproxy/autosrc/rtpp_server_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/rtpproxy/autosrc/rtpp_server_fin.c
    - condition: ((_naborts - naborts_s) == 6)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/rtpproxy/autosrc/rtpp_server_fin.c
    constantsTouched: []
    func_position:
      end: 93
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 93
    functionName: rtpp_server_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_server_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_server_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:12,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: rcache_insert_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rcache_insert_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:16,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: rcache_lookup_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rcache_lookup_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:20,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: rcache_shutdown_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rcache_shutdown_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:24,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:25,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:27,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:30,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_cmd_rcache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: rtpp_cmd_rcache_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_rcache_fin(struct rtpp_cmd_rcache *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:53,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:54,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:55,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:59,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:61,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:62,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:63,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:64,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    - condition: ((_naborts - naborts_s) == 3)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: rtpp_cmd_rcache_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_cmd_rcache_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.h
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_stream_finish_playback_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_finish_playback_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_stream_get_actor_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_actor_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_stream_get_packetport_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_packetport_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_stream_get_proto_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_proto_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_stream_get_rem_addr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_rem_addr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_stream_get_sender_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_sender_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rtpp_stream_get_skt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_skt_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: rtpp_stream_get_stats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_get_stats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:43,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: rtpp_stream_guess_addr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_guess_addr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:47,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: rtpp_stream_handle_noplay_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_handle_noplay_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:51,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: rtpp_stream_handle_play_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_handle_play_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:55,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: rtpp_stream_isplayer_active_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_isplayer_active_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:59,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: rtpp_stream_issendable_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_issendable_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:63,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: rtpp_stream_latch_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_latch_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:67,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: rtpp_stream_latch_getmode_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_latch_getmode_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:71,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: rtpp_stream_latch_setmode_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_latch_setmode_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:75,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: rtpp_stream_link_sender_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_link_sender_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:79,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: rtpp_stream_locklatch_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_locklatch_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:83,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: rtpp_stream_prefill_addr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_prefill_addr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:87,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: rtpp_stream_refill_pps_bucket_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_refill_pps_bucket_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:91,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: rtpp_stream_reg_onhold_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_reg_onhold_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:95,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: rtpp_stream_rx_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_rx_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:99,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: rtpp_stream_send_pkt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_send_pkt_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:103,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: rtpp_stream_send_pkt_to_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_send_pkt_to_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:107,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: rtpp_stream_set_max_pkt_size_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_max_pkt_size_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:111,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: rtpp_stream_set_packetport_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_packetport_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:115,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: rtpp_stream_set_pps_limit_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_pps_limit_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:119,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: rtpp_stream_set_skt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_set_skt_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:123,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: rtpp_stream_unreg_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_unreg_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:127,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: rtpp_stream_update_skt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_update_skt_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:163,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:164,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:165,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:166,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:167,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:168,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:169,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:170,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:171,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:172,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:173,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:174,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:175,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:176,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:177,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:178,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:179,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:180,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:181,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:182,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:183,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:184,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:185,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:186,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:187,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:188,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:189,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:190,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:191,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:192,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 196
    functionName: rtpp_stream_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_fin(struct rtpp_stream *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:215,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:216,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:217,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:251,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:253,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:254,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:255,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:256,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:257,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:258,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:259,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:260,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:261,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:262,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:263,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:264,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:265,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:266,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:267,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:268,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:269,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:270,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:271,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:272,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:273,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:274,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:275,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:276,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:277,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:278,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:279,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:280,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:281,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:282,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:283,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_stream_fin.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    - condition: ((_naborts - naborts_s) == 30)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    constantsTouched: []
    func_position:
      end: 285
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 285
    functionName: rtpp_stream_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_stream_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_pcnt_strm_get_stats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcnt_strm_get_stats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_pcnt_strm_reg_pktin_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcnt_strm_reg_pktin_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:23,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:24,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_pcnt_strm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: rtpp_pcnt_strm_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_pcnt_strm_fin(struct rtpp_pcnt_strm *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:47,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:48,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:49,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:55,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:57,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:58,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:59,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    - condition: ((_naborts - naborts_s) == 2)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: rtpp_pcnt_strm_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_pcnt_strm_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_packetport_fin.h
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_pearson_perfect_hash_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pearson_perfect_hash_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:18,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_pearson_perfect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: rtpp_pearson_perfect_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_pearson_perfect_fin(struct rtpp_pearson_perfect *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:41,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:42,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:43,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:48,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:50,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:51,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    - condition: ((_naborts - naborts_s) == 1)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: rtpp_pearson_perfect_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_pearson_perfect_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_genuid_fin.h
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stats_fin.h
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_netaddr_cmp_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_cmp_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_netaddr_cmphost_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_cmphost_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_netaddr_copy_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_copy_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_netaddr_get_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_get_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_netaddr_isaddrseq_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_isaddrseq_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: rtpp_netaddr_isempty_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_isempty_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: rtpp_netaddr_set_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_set_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: rtpp_netaddr_sip_print_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_sip_print_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:53,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:54,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:55,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:56,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:57,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:58,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:59,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:60,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_netaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: rtpp_netaddr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_fin(struct rtpp_netaddr *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:84,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:85,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:97,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:99,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:100,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:101,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:102,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:103,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:104,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:105,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:106,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:107,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((_naborts - naborts_s) == 8)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    constantsTouched: []
    func_position:
      end: 109
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 109
    functionName: rtpp_netaddr_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_netaddr_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_rw_lock_lock_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_lock_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_rw_lock_unlock_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_unlock_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_rw_lock_upgrade_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_upgrade_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:29,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:30,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_rw_lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: rtpp_rw_lock_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_fin(struct rtpp_rw_lock *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:53,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:54,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:55,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:62,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:64,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:65,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:66,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:67,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    - condition: ((_naborts - naborts_s) == 3)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: rtpp_rw_lock_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_rw_lock_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_modman_fin.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_stream_fin.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refproxy_fin.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_ttl_fin.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_record_fin.h
    functionUses: 154
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: refcnt_attach_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_attach_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: refcnt_attach_nc_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_attach_nc_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: refcnt_attach_rc_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_attach_rc_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: refcnt_attach_rc_nc_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_attach_rc_nc_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: refcnt_decref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_decref_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:31,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: refcnt_getdata_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_getdata_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:35,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: refcnt_incref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_incref_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:39,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: refcnt_peek_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_peek_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:43,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: refcnt_traceen_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_traceen_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:47,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: refcnt_tryincref_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void refcnt_tryincref_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:63,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:64,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:65,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:66,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:67,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:68,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:69,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:70,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:71,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:72,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_refcnt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: rtpp_refcnt_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_fin(struct rtpp_refcnt *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:95,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:96,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:97,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:111,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:113,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:114,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:115,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:116,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:117,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:118,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:119,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:120,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:121,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:122,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:123,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    - condition: ((_naborts - naborts_s) == 10)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    constantsTouched: []
    func_position:
      end: 125
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 125
    functionName: rtpp_refcnt_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_refcnt_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_timed_schedule_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_schedule_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_timed_schedule_rc_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_schedule_rc_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_timed_shutdown_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_shutdown_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:29,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:30,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_timed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: rtpp_timed_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_fin(struct rtpp_timed *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:53,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:54,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:55,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:62,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:64,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:65,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:66,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:67,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_timed_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    - condition: ((_naborts - naborts_s) == 3)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: rtpp_timed_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_timed_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_pipe_decr_ttl_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_decr_ttl_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_pipe_get_stats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_get_stats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_pipe_get_ttl_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_get_ttl_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_pipe_upd_cntrs_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_upd_cntrs_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:33,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:34,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:35,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:36,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_pipe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: rtpp_pipe_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_fin(struct rtpp_pipe *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:59,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:60,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:61,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:69,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:71,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:72,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:73,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:74,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:75,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pipe_fin.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    - condition: ((_naborts - naborts_s) == 4)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    constantsTouched: []
    func_position:
      end: 77
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 77
    functionName: rtpp_pipe_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_pipe_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_pcount_get_stats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_get_stats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_pcount_log_drops_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_log_drops_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_pcount_reg_drop_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_reg_drop_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:23,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: rtpp_pcount_reg_ignr_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_reg_ignr_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:27,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rtpp_pcount_reg_reld_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_reg_reld_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:38,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:39,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:40,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:41,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:42,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_pcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: rtpp_pcount_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_fin(struct rtpp_pcount *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:65,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:66,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:67,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:76,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:78,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:79,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:80,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:81,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:82,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_pcount_fin.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    - condition: ((_naborts - naborts_s) == 5)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: rtpp_pcount_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_pcount_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_module_if_fin.h
    functionUses: 176
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:11,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: rtpp_analyzer_get_jstats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_get_jstats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:15,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: rtpp_analyzer_get_stats_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_get_stats_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:19,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: rtpp_analyzer_update_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_update_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:29,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:30,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_analyzer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: rtpp_analyzer_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_fin(struct rtpp_analyzer *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:53,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:54,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:55,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:62,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:64,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:65,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:66,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:67,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    - condition: ((_naborts - naborts_s) == 3)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: rtpp_analyzer_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_analyzer_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.h
    functionUses: 179
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:12,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: rtpp_log_ewrite_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_log_ewrite_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:16,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: rtpp_log_setlevel_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_log_setlevel_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:20,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: rtpp_log_start_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_log_start_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:24,1
    - Dst: RTPP_AUTOTRAP
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pub
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: rtpp_log_write_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 0
    functionsReached:
    - RTPP_AUTOTRAP
    - fprintf
    linkageType: ''
    returnType: void
    signature: void rtpp_log_write_fin(void *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:28,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:29,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:31,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:32,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:34,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:35,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:37,1
    - Dst: RTPP_DBG_ASSERT
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pub
    argTypes:
    - struct rtpp_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: rtpp_log_fin
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 1
    functionsReached:
    - RTPP_DBG_ASSERT
    linkageType: ''
    returnType: void
    signature: void rtpp_log_fin(struct rtpp_log *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pub
    - ','
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: CALL_TFIN
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_TFIN(pub, fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_rzmalloc
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:60,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:61,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:62,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:67,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:69,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:70,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:71,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:72,1
    - Dst: CALL_TFIN
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:73,1
    - Dst: assert
      Src: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tp->pub.rcnt != NULL)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    - condition: (tp != NULL)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    - condition: ((_naborts - naborts_s) == 4)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: rtpp_log_fintest
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    functionUses: 0
    functionsReached:
    - rtpp_rzmalloc
    - RTPP_OBJ_DECREF
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_TFIN
    linkageType: ''
    returnType: void
    signature: void rtpp_log_fintest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_timed_task_fin.h
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: RTPP_AUTOTRAP
    functionSourceFile: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.h
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTPP_AUTOTRAP()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTPPInitialize
      Src: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _argc
    - _argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c
    functionUses: 0
    functionsReached:
    - RTPPInitialize
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *_argc, char ***_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rfz_get_chunk
      Src: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c:24,1
    - Dst: ExecuteRTPPCommand
      Src: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c:25,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c:27,1
    - Dst: ExecuteRTPPCommand
      Src: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (ExecuteRTPPCommand(&gconf, "X", 1, 0) == 0)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c
    functionUses: 0
    functionsReached:
    - ExecuteRTPPCommand
    - assert
    - rfz_get_chunk
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const char *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_static_modules_lookup
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:27,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (mip != NULL)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: fuzz_rtcp_parser_init
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c
    functionUses: 0
    functionsReached:
    - rtpp_static_modules_lookup
    - assert
    linkageType: ''
    returnType: void
    signature: void fuzz_rtcp_parser_init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_sbuf_ctor
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:40,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:41,1
    - Dst: sprintf
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:45,1
    - Dst: write
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:46,1
    - Dst: write
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:48,1
    - Dst: fsync
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:49,1
    - Dst: rtcp2json
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:51,1
    - Dst: rtpp_sbuf_dtor
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - rtcp_data
    - rtcp_dlen
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (sbp != NULL)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c
    constantsTouched: []
    func_position:
      end: 55
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 55
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c
    functionUses: 0
    functionsReached:
    - write
    - fsync
    - rtcp2json
    - rtpp_sbuf_ctor
    - assert
    - rtpp_sbuf_dtor
    - sprintf
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const char *rtcp_data, size_t rtcp_dlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: howmany
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: OPT_SAVE
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_SAVE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: OPT_RESTORE
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT_RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:61,1
    - Dst: rtpp_shutdown
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:62,1
    - Dst: close
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: cleanupHandler
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 0
    functionsReached:
    - close
    - rtpp_shutdown
    - printf
    linkageType: ''
    returnType: void
    signature: void cleanupHandler(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - num
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: dRAND_bytes
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dRAND_bytes(unsigned char *buf, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: dRAND_status
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dRAND_status(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seedrandom
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: SeedRNGs
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 0
    functionsReached:
    - seedrandom
    linkageType: ''
    returnType: void
    signature: void SeedRNGs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmpnam
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:125,1
    - Dst: howmany
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:135,1
    - Dst: __afl_manual_init
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:139,1
    - Dst: OPT_SAVE
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:141,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:142,1
    - Dst: RAND_set_rand_method
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:142,1
    - Dst: SeedRNGs
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:143,1
    - Dst: rtpp_main
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:144,1
    - Dst: OPT_RESTORE
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:145,1
    - Dst: open
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:149,1
    - Dst: atexit
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:153,1
    - Dst: cleanupHandler
      Src: /src/rtpproxy/scripts/fuzz/rfz_utils.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (RAND_set_rand_method(&dummy) == 1)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    constantsTouched: []
    func_position:
      end: 159
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 159
    functionName: RTPPInitialize
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    functionUses: 1
    functionsReached:
    - atexit
    - tmpnam
    - rtpp_main
    - open
    - cleanupHandler
    - RAND_set_rand_method
    - __afl_manual_init
    - assert
    - howmany
    - OPT_SAVE
    - OPT_RESTORE
    - SeedRNGs
    linkageType: ''
    returnType: int
    signature: int RTPPInitialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExecuteRTPPCommand
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:47,1
    - Dst: sem_destroy
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: fuzz_ctx_dtor
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    functionUses: 0
    functionsReached:
    - sem_destroy
    - ExecuteRTPPCommand
    linkageType: ''
    returnType: void
    signature: void fuzz_ctx_dtor(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:63,1
    - Dst: memcpy
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:64,1
    - Dst: ExecuteRTPPCommand
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: ExecuteScript
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    functionUses: 0
    functionsReached:
    - ExecuteRTPPCommand
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ExecuteScript(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTPPInitialize
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:76,1
    - Dst: sem_init
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:80,1
    - Dst: ExecuteScript
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:82,1
    - Dst: ExecuteRTPPCommand
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:84,1
    - Dst: atexit
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:86,1
    - Dst: sem_destroy
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - _argc
    - _argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 7
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    functionUses: 0
    functionsReached:
    - atexit
    - ExecuteRTPPCommand
    - RTPPInitialize
    - sem_init
    - ExecuteScript
    - sem_destroy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *_argc, char ***_argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_post
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: wi_proc_complete
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    functionUses: 0
    functionsReached:
    - sem_post
    linkageType: ''
    returnType: void
    signature: void wi_proc_complete(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:123,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:124,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:125,1
    - Dst: RTPP_OBJ_DTOR_ATTACH_s
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:126,1
    - Dst: sstosa
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:127,1
    - Dst: memcpy
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:128,1
    - Dst: memcpy
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:131,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - dp
    - ap
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (pktp != NULL)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: proc_foreach
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    functionUses: 0
    functionsReached:
    - sstosa
    - memcpy
    - assert
    - RTPP_OBJ_DTOR_ATTACH_s
    - CALL_SMETHOD
    - rtp_packet_alloc
    linkageType: ''
    returnType: int
    signature: int proc_foreach(void *dp, void *ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SeedRNGs
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:166,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:169,1
    - Dst: ExecuteScript
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:169,1
    - Dst: rfz_get_chunk
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:175,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:182,1
    - Dst: sem_wait
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:185,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:187,1
    - Dst: ExecuteRTPPCommand
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (ExecuteScript() == 0)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    - condition: (ExecuteRTPPCommand(&gconf, "X", 1, 0) == 0)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    constantsTouched: []
    func_position:
      end: 189
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 189
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    functionUses: 0
    functionsReached:
    - ExecuteRTPPCommand
    - sem_wait
    - SeedRNGs
    - ExecuteScript
    - assert
    - CALL_SMETHOD
    - rfz_get_chunk
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const char *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_command_ctor
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:36,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:42,1
    - Dst: memcpy
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:43,1
    - Dst: rtpp_command_split
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:46,1
    - Dst: handle_command
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:48,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:50,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:51,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:52,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:52,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/scripts/fuzz/rfz_command.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - gcp
    - data
    - size
    - debug
    argTypes:
    - struct rtpp_conf*
    - char*
    - size_t
    - int
    assertStmts:
    - condition: (tp == cmd->reply)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/rtpproxy/scripts/fuzz/rfz_command.c
    - condition: (trp == cmd->reply->rcnt)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/rtpproxy/scripts/fuzz/rfz_command.c
    - condition: (CALL_SMETHOD(cmd->reply->rcnt, peek) == 1)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/scripts/fuzz/rfz_command.c
    constantsTouched: []
    func_position:
      end: 55
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 55
    functionName: ExecuteRTPPCommand
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_command.c
    functionUses: 5
    functionsReached:
    - rtpp_command_ctor
    - memcpy
    - RTPP_OBJ_DECREF
    - handle_command
    - assert
    - CALL_SMETHOD
    - rtpp_command_split
    linkageType: ''
    returnType: int
    signature: int ExecuteRTPPCommand(struct rtpp_conf *gcp, const char *data, size_t
      size, int debug)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerInitialize
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:23,1
    - Dst: abort
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: rtpp_init
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
    functionUses: 0
    functionsReached:
    - abort
    - LLVMFuzzerInitialize
    linkageType: ''
    returnType: void
    signature: void rtpp_init()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:37,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:49,1
    - Dst: open
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:51,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:52,1
    - Dst: read
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:53,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:54,1
    - Dst: strlen
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:58,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
    - condition: (argc == 1)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
    - condition: (size > 0)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
    functionUses: 2
    functionsReached:
    - LLVMFuzzerTestOneInput
    - getopt
    - open
    - assert
    - read
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: __asan_default_options
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *__asan_default_options()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 23
    functionName: rfz_get_chunk
    functionSourceFile: /src/rtpproxy/scripts/fuzz/rfz_chunk.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct rfz_chunk
    signature: struct rfz_chunk rfz_get_chunk(const char *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_log_ctor
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:35,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:36,1
    - Dst: rtpp_analyzer_ctor
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:37,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:38,1
    - Dst: rtp_packet_alloc
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:41,1
    - Dst: assert
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:42,1
    - Dst: memcpy
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:44,1
    - Dst: CALL_SMETHOD
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:46,1
    - Dst: RTPP_OBJ_DECREF
      Src: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (rap != NULL)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c
    - condition: (log != NULL)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c
    - condition: (pktp != NULL)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c
    functionUses: 1
    functionsReached:
    - rtpp_analyzer_ctor
    - memcpy
    - rtp_packet_alloc
    - RTPP_OBJ_DECREF
    - assert
    - CALL_SMETHOD
    - rtpp_log_ctor
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const char *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: rdtsc
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rdtsc(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:47,1
    - Dst: read
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:49,1
    - Dst: warn
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:51,1
    - Dst: warnx
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:53,1
    - Dst: close
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:56,1
    - Dst: gettimeofday
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:61,1
    - Dst: srandom
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:62,1
    - Dst: getpid
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: srandomdev
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - warn
    - srandom
    - close
    - gettimeofday
    - open
    - getpid
    - read
    - warnx
    linkageType: ''
    returnType: void
    signature: void srandomdev(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:116,1
    - Dst: inet_aton
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:122,1
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:125,1
    - Dst: htonl
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:126,1
    - Dst: satosin
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:127,1
    - Dst: htons
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:129,1
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:135,1
    - Dst: memcpy
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:142,1
    - Dst: abort
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - cfp
    - sap
    argTypes:
    - struct tconf*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: genrandomdest
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - random
    - inet_aton
    - memcpy
    - satosin
    - htons
    - abort
    - htonl
    linkageType: ''
    returnType: int
    signature: int genrandomdest(struct tconf *cfp, struct sockaddr *sap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:205,1
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:208,1
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dp
    - minlen
    - maxlen
    argTypes:
    - struct destination*
    - int
    - int
    assertStmts:
    - condition: (minlen <= maxlen && maxlen <= sizeof(dp->buf))
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: genrandombuf
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - random
    - assert
    linkageType: ''
    returnType: void
    signature: void genrandombuf(struct destination *dp, int minlen, int maxlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:222,1
    - Dst: fcntl
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:227,1
    - Dst: fcntl
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:228,1
    - Dst: close
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - domain
    - cfp
    argTypes:
    - int
    - struct tconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: socket_ctor
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 1
    functionsReached:
    - close
    - fcntl
    - socket
    linkageType: ''
    returnType: int
    signature: int socket_ctor(int domain, struct tconf *cfp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:247,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:251,1
    - Dst: genrandomdest
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:256,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:256,1
    - Dst: socket_ctor
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:257,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:257,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:259,1
    - Dst: genrandombuf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:263,1
    - Dst: close
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:270,1
    - Dst: free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - cfp
    argTypes:
    - struct tconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 274
    functionName: generate_workset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    - genrandombuf
    - sstosa
    - close
    - malloc
    - socket_ctor
    - memset
    - genrandomdest
    linkageType: ''
    returnType: struct workset
    signature: 'struct workset *

      generate_workset(struct tconf *cfp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: sstosin
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sstosin(ss)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: socket_ctor
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:296,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:296,1
    - Dst: setsockopt
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:304,1
    - Dst: sstosin
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:310,1
    - Dst: htons
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:312,1
    - Dst: bind
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:314,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:314,1
    - Dst: getsockname
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:320,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:320,1
    - Dst: setsockopt
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:327,1
    - Dst: sstosin
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:332,1
    - Dst: local4remote
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:334,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:334,1
    - Dst: sstosin
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:339,1
    - Dst: bind
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:342,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:342,1
    - Dst: connect
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:348,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:348,1
    - Dst: SS_LEN
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:348,1
    - Dst: getsockname
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:355,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:355,1
    - Dst: setsockopt
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:361,1
    - Dst: sstosin
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:366,1
    - Dst: bind
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:369,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:369,1
    - Dst: shutdown
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:375,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 88
    argCount: 3
    argNames:
    - wp
    - test_type
    - cfp
    argTypes:
    - struct workset*
    - int
    - struct tconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 385
    functionName: connect_workset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - sstosin
    - bind
    - sstosa
    - connect
    - socket_ctor
    - htons
    - shutdown
    - getsockname
    - SS_LEN
    - setsockopt
    - local4remote
    linkageType: ''
    returnType: int
    signature: int connect_workset(struct workset *wp, int test_type, struct tconf
      *cfp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:404,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: getdtime
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 19
    functionsReached:
    - clock_gettime
    - timespec2dtime
    linkageType: ''
    returnType: double
    signature: double getdtime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv_sec
    - tv_nsec
    argTypes:
    - time_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: timespec2dtime
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double timespec2dtime(time_t tv_sec, long tv_nsec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prdic_init
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:425,1
    - Dst: getdtime
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:429,1
    - Dst: rdtsc
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:433,1
    - Dst: sendto
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:435,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:436,1
    - Dst: SS_LEN
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:436,1
    - Dst: send
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:438,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:447,1
    - Dst: getdtime
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:450,1
    - Dst: prdic_free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:452,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct workset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 454
    functionName: process_workset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - getdtime
    - prdic_init
    - prdic_free
    - sstosa
    - prdic_procrastinate
    - send
    - sendto
    - SS_LEN
    - rdtsc
    linkageType: ''
    returnType: void
    signature: void process_workset(struct workset *wp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: prdic_init
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:469,1
    - Dst: getdtime
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:476,1
    - Dst: poll
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:478,1
    - Dst: recvfrom
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:492,1
    - Dst: sstosa
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:492,1
    - Dst: rdtsc
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:494,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:508,1
    - Dst: getdtime
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:511,1
    - Dst: prdic_free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:513,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - rp
    argTypes:
    - struct recvset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 515
    functionName: process_recvset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - getdtime
    - prdic_init
    - prdic_free
    - sstosa
    - poll
    - recvfrom
    - prdic_procrastinate
    - rdtsc
    linkageType: ''
    returnType: void
    signature: void process_recvset(struct recvset  *rp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:526,1
    - Dst: close
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:528,1
    - Dst: free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct workset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 532
    functionName: release_workset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void release_workset(struct workset *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:538,1
    - Dst: free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rp
    argTypes:
    - struct recvset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: release_recvset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void release_recvset(struct recvset  *rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:550,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:554,1
    - Dst: malloc
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:556,1
    - Dst: free
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:558,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - wp
    - cfp
    argTypes:
    - struct workset*
    - struct tconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 573
    functionName: generate_recvset
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: struct recvset
    signature: 'struct recvset *

      generate_recvset(struct workset *wp, struct tconf *cfp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:589,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:590,1
    - Dst: exit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:591,1
    - Dst: setrlimit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:601,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:602,1
    - Dst: exit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - cfp
    argTypes:
    - struct tconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 607
    functionName: setrlimits
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - setrlimit
    - exit
    - fprintf
    - getrlimit
    linkageType: ''
    returnType: void
    signature: void setrlimits(struct tconf *cfp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:623,1
    - Dst: fflush
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:624,1
    - Dst: generate_workset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:626,1
    - Dst: assert
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:627,1
    - Dst: connect_workset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:630,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:631,1
    - Dst: abort
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:632,1
    - Dst: generate_recvset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:635,1
    - Dst: assert
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:638,1
    - Dst: pthread_create
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:638,1
    - Dst: assert
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:639,1
    - Dst: pthread_create
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:639,1
    - Dst: pthread_join
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:644,1
    - Dst: pthread_join
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:646,1
    - Dst: release_workset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:659,1
    - Dst: release_recvset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:660,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 4
    argNames:
    - nthreads
    - test_type
    - cfp
    - tsp
    argTypes:
    - int
    - int
    - struct tconf*
    - struct tstats*
    assertStmts:
    - condition: (wsp[i] != NULL)
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - condition: (pthread_create(&wsp[i]->tid, NULL, (void *(*)(void *))process_workset,
        wsp[i]) == 0)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - condition: (pthread_create(&rsp[i]->tid, NULL, (void *(*)(void *))process_recvset,
        rsp[i]) == 0)
      pos:
        line_end: 638
        line_start: 638
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    constantsTouched: []
    func_position:
      end: 677
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 677
    functionName: run_test
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - release_recvset
    - fprintf
    - generate_recvset
    - generate_workset
    - pthread_join
    - assert
    - release_workset
    - pthread_create
    - abort
    - fflush
    - connect_workset
    linkageType: ''
    returnType: void
    signature: void run_test(int nthreads, int test_type, struct tconf *cfp, struct
      tstats *tsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 684
    functionName: usage
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - test_kind
    - get_shrt
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: tk2str
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: 'char *

      tk2str(int test_kind, int get_shrt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:702,1
    - Dst: tk2str
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:703,1
    - Dst: printf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - nthreads
    - test_kind
    - tp
    argTypes:
    - int
    - int
    - struct tstats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: print_test_stats
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 0
    functionsReached:
    - tk2str
    - printf
    linkageType: ''
    returnType: void
    signature: void print_test_stats(int nthreads, int test_kind, struct tstats *tp)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:719,1
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:725,1
    - Dst: random
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:725,1
    - Dst: getopt
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:730,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:733,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:737,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:739,1
    - Dst: exit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:741,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:746,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:750,1
    - Dst: usage
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:752,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:757,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:769,1
    - Dst: usage
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:775,1
    - Dst: usage
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:779,1
    - Dst: usage
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:785,1
    - Dst: strrchr
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:789,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:792,1
    - Dst: usage
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:794,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:800,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:804,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:806,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:806,1
    - Dst: exit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:807,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:813,1
    - Dst: abort
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:815,1
    - Dst: srandomdev
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:819,1
    - Dst: setrlimits
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:820,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:823,1
    - Dst: run_test
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:824,1
    - Dst: print_test_stats
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:825,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:829,1
    - Dst: run_test
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:830,1
    - Dst: print_test_stats
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:831,1
    - Dst: exit
      Src: /src/rtpproxy/pertools/udp_contention/udp_contention.c:834,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 835
    functionName: main
    functionSourceFile: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    functionUses: 2
    functionsReached:
    - random
    - exit
    - srandomdev
    - atoi
    - fprintf
    - setrlimits
    - gai_strerror
    - run_test
    - getopt
    - print_test_stats
    - getaddrinfo
    - usage
    - abort
    - memset
    - strrchr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: SA_LEN
    functionSourceFile: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_LEN(sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:48,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:53,1
    - Dst: memcpy
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:56,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ia
    - pf
    - host
    - servname
    - flags
    argTypes:
    - struct sockaddr*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 61
    functionName: resolve
    functionSourceFile: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    functionUses: 7
    functionsReached:
    - getaddrinfo
    - memset
    - memcpy
    - freeaddrinfo
    linkageType: ''
    returnType: void
    signature: "void resolve(struct sockaddr *ia, int pf, const char *host,\n  const
      char *servname, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:73,1
    - Dst: send
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:77,1
    - Dst: atomic_fetch_add
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:79,1
    - Dst: usleep
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - prt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: sender
    functionSourceFile: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    functionUses: 4
    functionsReached:
    - usleep
    - atomic_fetch_add
    - atomic_load
    - send
    linkageType: ''
    returnType: void
    signature: void sender(void *prt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:102,1
    - Dst: memset
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:103,1
    - Dst: recvmmsg
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:120,1
    - Dst: atomic_fetch_add
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - prt
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 127
    functionName: receiver
    functionSourceFile: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    - memset
    - malloc
    - recvmmsg
    linkageType: ''
    returnType: void
    signature: void receiver(void *prt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:139,1
    - Dst: atomic_init
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:141,1
    - Dst: atomic_init
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:144,1
    - Dst: getopt
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:152,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:155,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:159,1
    - Dst: atoi
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:171,1
    - Dst: strtod
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:175,1
    - Dst: assert
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:176,1
    - Dst: atomic_store
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:177,1
    - Dst: errx
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:184,1
    - Dst: fopen
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:192,1
    - Dst: err
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:194,1
    - Dst: fread
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:197,1
    - Dst: fclose
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:199,1
    - Dst: prdic_init
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:201,1
    - Dst: errx
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:203,1
    - Dst: asprintf
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:210,1
    - Dst: resolve
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:211,1
    - Dst: errx
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:213,1
    - Dst: malloc
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:223,1
    - Dst: socket
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:230,1
    - Dst: connect
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:231,1
    - Dst: SA_LEN
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:231,1
    - Dst: pthread_create
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:234,1
    - Dst: pthread_create
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:236,1
    - Dst: atomic_load
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:245,1
    - Dst: atomic_load
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:246,1
    - Dst: fprintf
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:247,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:248,1
    - Dst: pthread_join
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:253,1
    - Dst: pthread_join
      Src: /src/rtpproxy/pertools/udp_storm/udp_storm.c:254,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 91
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (pr > 0.0)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    constantsTouched: []
    func_position:
      end: 257
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 257
    functionName: main
    functionSourceFile: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    functionUses: 2
    functionsReached:
    - atomic_load
    - getopt
    - strtod
    - assert
    - prdic_procrastinate
    - connect
    - SA_LEN
    - fprintf
    - pthread_create
    - atomic_init
    - fopen
    - prdic_init
    - errx
    - fclose
    - socket
    - atoi
    - asprintf
    - atomic_store
    - resolve
    - malloc
    - err
    - pthread_join
    - fread
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/bench/main.c:28,1
    - Dst: err
      Src: /src/rtpproxy/bench/main.c:30,1
    - Dst: socket
      Src: /src/rtpproxy/bench/main.c:31,1
    - Dst: err
      Src: /src/rtpproxy/bench/main.c:33,1
    - Dst: memset
      Src: /src/rtpproxy/bench/main.c:34,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/bench/main.c:38,1
    - Dst: errx
      Src: /src/rtpproxy/bench/main.c:40,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/bench/main.c:40,1
    - Dst: memcpy
      Src: /src/rtpproxy/bench/main.c:41,1
    - Dst: htons
      Src: /src/rtpproxy/bench/main.c:42,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/bench/main.c:43,1
    - Dst: memset
      Src: /src/rtpproxy/bench/main.c:44,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/bench/main.c:48,1
    - Dst: errx
      Src: /src/rtpproxy/bench/main.c:50,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/bench/main.c:50,1
    - Dst: memcpy
      Src: /src/rtpproxy/bench/main.c:51,1
    - Dst: htons
      Src: /src/rtpproxy/bench/main.c:52,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/bench/main.c:53,1
    - Dst: memset
      Src: /src/rtpproxy/bench/main.c:54,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/bench/main.c:58,1
    - Dst: errx
      Src: /src/rtpproxy/bench/main.c:60,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/bench/main.c:60,1
    - Dst: memcpy
      Src: /src/rtpproxy/bench/main.c:61,1
    - Dst: htons
      Src: /src/rtpproxy/bench/main.c:62,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/bench/main.c:63,1
    - Dst: bind
      Src: /src/rtpproxy/bench/main.c:65,1
    - Dst: err
      Src: /src/rtpproxy/bench/main.c:66,1
    - Dst: bind
      Src: /src/rtpproxy/bench/main.c:67,1
    - Dst: err
      Src: /src/rtpproxy/bench/main.c:68,1
    - Dst: sendto
      Src: /src/rtpproxy/bench/main.c:71,1
    - Dst: sendto
      Src: /src/rtpproxy/bench/main.c:73,1
    - Dst: exit
      Src: /src/rtpproxy/bench/main.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/rtpproxy/bench/main.c
    functionUses: 2
    functionsReached:
    - exit
    - bind
    - gai_strerror
    - errx
    - memcpy
    - err
    - getaddrinfo
    - socket
    - htons
    - memset
    - sendto
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - headp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MYQ_INIT
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_INIT(headp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - headp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MYQ_FIRST
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_FIRST(headp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - headp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MYQ_LAST
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_LAST(headp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: MYQ_NEXT
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_NEXT(itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: MYQ_PREV
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_PREV(itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - headp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: MYQ_EMPTY
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_EMPTY(headp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - itemp
    - ','
    - headp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: MYQ_FOREACH
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_FOREACH(itemp, headp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - itemp
    - ','
    - headp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: MYQ_FOREACH_REVERSE
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_FOREACH_REVERSE(itemp, headp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - headp
    - ','
    - new_itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: MYQ_INSERT_HEAD
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_INSERT_HEAD(headp, new_itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - headp
    - ','
    - itemp
    - ','
    - new_itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: MYQ_INSERT_AFTER
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_INSERT_AFTER(headp, itemp, new_itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - headp
    - ','
    - itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: MYQ_REMOVE
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MYQ_REMOVE(headp, itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - packet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: RPLOAD
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPLOAD(packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - packet
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: RPLEN
    functionSourceFile: /src/rtpproxy/extractaudio/session.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPLEN(packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:49,1
    - Dst: ntohs
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - np
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ntohsp
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_pcap.c
    functionUses: 0
    functionsReached:
    - ntohs
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ntohsp(unsigned char *np)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:61,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:68,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:69,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:74,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:83,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:84,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:89,1
    - Dst: ntohsp
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:99,1
    - Dst: ntohsp
      Src: /src/rtpproxy/extractaudio/eaud_pcap.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - bp
    - blen
    - network
    - dp
    argTypes:
    - unsigned char*
    - size_t
    - int
    - struct pcap_dissect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 103
    functionName: eaud_pcap_dissect
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_pcap.c
    functionUses: 0
    functionsReached:
    - ntohsp
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int eaud_pcap_dissect(unsigned char *bp, size_t blen, int network,\n
      \ struct pcap_dissect *dp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/decoder.c:57,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/decoder.c:60,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/decoder.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - sp
    - dflags
    argTypes:
    - struct session*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: decoder_new
    functionSourceFile: /src/rtpproxy/extractaudio/decoder.c
    functionUses: 0
    functionsReached:
    - MYQ_FIRST
    - memset
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      decoder_new(struct session *sp, int dflags)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: generate_silence
      Src: /src/rtpproxy/extractaudio/decoder.c:110,1
    - Dst: generate_silence
      Src: /src/rtpproxy/extractaudio/decoder.c:125,1
    - Dst: decode_frame
      Src: /src/rtpproxy/extractaudio/decoder.c:132,1
    - Dst: RPLOAD
      Src: /src/rtpproxy/extractaudio/decoder.c:132,1
    - Dst: RPLEN
      Src: /src/rtpproxy/extractaudio/decoder.c:132,1
    - Dst: MYQ_NEXT
      Src: /src/rtpproxy/extractaudio/decoder.c:136,1
    - Dst: decoder_get
      Src: /src/rtpproxy/extractaudio/decoder.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct decoder_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 146
    functionName: decoder_get
    functionSourceFile: /src/rtpproxy/extractaudio/decoder.c
    functionUses: 1
    functionsReached:
    - RPLOAD
    - decode_frame
    - decoder_get
    - RPLEN
    - MYQ_NEXT
    - generate_silence
    linkageType: ''
    returnType: int32_t
    signature: int32_t decoder_get(struct decoder_stream *dp)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ULAW2SL
      Src: /src/rtpproxy/extractaudio/decoder.c:159,1
    - Dst: ALAW2SL
      Src: /src/rtpproxy/extractaudio/decoder.c:168,1
    - Dst: G729_DINIT
      Src: /src/rtpproxy/extractaudio/decoder.c:191,1
    - Dst: G729_DECODE
      Src: /src/rtpproxy/extractaudio/decoder.c:195,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/decoder.c:197,1
    - Dst: g722_decoder_new
      Src: /src/rtpproxy/extractaudio/decoder.c:210,1
    - Dst: g722_decode
      Src: /src/rtpproxy/extractaudio/decoder.c:216,1
    - Dst: gsm_create
      Src: /src/rtpproxy/extractaudio/decoder.c:225,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/decoder.c:227,1
    - Dst: gsm_decode
      Src: /src/rtpproxy/extractaudio/decoder.c:235,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 5
    argNames:
    - dp
    - obuf
    - ibuf
    - ibytes
    - obytes_max
    argTypes:
    - struct decoder_stream*
    - int16_t*
    - unsigned char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 253
    functionName: decode_frame
    functionSourceFile: /src/rtpproxy/extractaudio/decoder.c
    functionUses: 1
    functionsReached:
    - gsm_create
    - fprintf
    - gsm_decode
    - ALAW2SL
    - memcpy
    - G729_DECODE
    - g722_decode
    - G729_DINIT
    - g722_decoder_new
    - ULAW2SL
    linkageType: ''
    returnType: int
    signature: "int decode_frame(struct decoder_stream *dp, int16_t *obuf, unsigned
      char *ibuf,\n  unsigned int ibytes, unsigned int obytes_max)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/decoder.c:265,1
    - Dst: G729_DINIT
      Src: /src/rtpproxy/extractaudio/decoder.c:274,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/decoder.c:276,1
    - Dst: G729_DECODE
      Src: /src/rtpproxy/extractaudio/decoder.c:280,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/decoder.c:281,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/decoder.c:286,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/decoder.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - dp
    - obuf
    - iticks
    argTypes:
    - struct decoder_stream*
    - int16_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 300
    functionName: generate_silence
    functionSourceFile: /src/rtpproxy/extractaudio/decoder.c
    functionUses: 1
    functionsReached:
    - G729_DINIT
    - memset
    - memcpy
    - G729_DECODE
    linkageType: ''
    returnType: int
    signature: int generate_silence(struct decoder_stream *dp, int16_t *obuf, unsigned
      int iticks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:119,1
    - Dst: exit
      Src: /src/rtpproxy/extractaudio/extractaudio.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: usage
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 2
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - channels
    - ssrc
    - cpp
    argTypes:
    - struct channels*
    - uint32_t
    - struct channel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: session_lookup
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 0
    functionsReached:
    - MYQ_FIRST
    linkageType: ''
    returnType: struct session
    signature: 'struct session *

      session_lookup(struct channels *channels, uint32_t ssrc, struct channel **cpp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: MYQ_FOREACH
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 0
    functionsReached:
    - MYQ_FIRST
    linkageType: ''
    returnType: void
    signature: void MYQ_FOREACH(cnp, channels)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/extractaudio.c:145,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/extractaudio.c:148,1
    - Dst: MYQ_FOREACH_REVERSE
      Src: /src/rtpproxy/extractaudio/extractaudio.c:151,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:152,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:153,1
    - Dst: MYQ_INSERT_AFTER
      Src: /src/rtpproxy/extractaudio/extractaudio.c:154,1
    - Dst: MYQ_INSERT_HEAD
      Src: /src/rtpproxy/extractaudio/extractaudio.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - channels
    - channel
    argTypes:
    - struct channels*
    - struct channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: channel_insert
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 0
    functionsReached:
    - malloc
    - MYQ_FOREACH_REVERSE
    - MYQ_INSERT_HEAD
    - MYQ_INSERT_AFTER
    - MYQ_FIRST
    - memset
    linkageType: ''
    returnType: int
    signature: int channel_insert(struct channels *channels, struct channel *channel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MYQ_EMPTY
      Src: /src/rtpproxy/extractaudio/extractaudio.c:166,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:167,1
    - Dst: MYQ_REMOVE
      Src: /src/rtpproxy/extractaudio/extractaudio.c:168,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/extractaudio.c:169,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/extractaudio.c:171,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/extractaudio.c:172,1
    - Dst: MYQ_REMOVE
      Src: /src/rtpproxy/extractaudio/extractaudio.c:175,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/extractaudio.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - channels
    - cnp
    - dealloc
    argTypes:
    - struct channels*
    - struct cnode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: channel_remove
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 0
    functionsReached:
    - free
    - MYQ_FIRST
    - MYQ_EMPTY
    - MYQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void channel_remove(struct channels *channels, struct cnode *cnp, int
      dealloc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_load
      Src: /src/rtpproxy/extractaudio/extractaudio.c:188,1
    - Dst: rtpp_stats_init
      Src: /src/rtpproxy/extractaudio/extractaudio.c:192,1
    - Dst: struct rtpp_loader*::load
      Src: /src/rtpproxy/extractaudio/extractaudio.c:194,1
    - Dst: update_rtpp_totals
      Src: /src/rtpproxy/extractaudio/extractaudio.c:196,1
    - Dst: get_jitter_stats
      Src: /src/rtpproxy/extractaudio/extractaudio.c:197,1
    - Dst: printf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:198,1
    - Dst: printf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:201,1
    - Dst: printf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:204,1
    - Dst: struct rtpp_loader*::destroy
      Src: /src/rtpproxy/extractaudio/extractaudio.c:208,1
    - Dst: rtpp_stats_destroy
      Src: /src/rtpproxy/extractaudio/extractaudio.c:209,1
    - Dst: struct rtpp_loader*::destroy
      Src: /src/rtpproxy/extractaudio/extractaudio.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - path
    - channels
    - origin
    - crypto
    argTypes:
    - char*
    - struct channels*
    - enum origin
    - struct eaud_crypto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 215
    functionName: load_session
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 0
    functionsReached:
    - rtpp_load
    - struct rtpp_loader*::destroy
    - update_rtpp_totals
    - struct rtpp_loader*::load
    - rtpp_stats_init
    - printf
    - get_jitter_stats
    - rtpp_stats_destroy
    linkageType: ''
    returnType: int
    signature: "int load_session(const char *path, struct channels *channels, enum
      origin origin,\n  struct eaud_crypto *crypto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtpp_load
      Src: /src/rtpproxy/extractaudio/extractaudio.c:223,1
    - Dst: struct rtpp_loader*::scan
      Src: /src/rtpproxy/extractaudio/extractaudio.c:227,1
    - Dst: struct rtpp_loader*::destroy
      Src: /src/rtpproxy/extractaudio/extractaudio.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: scan_session
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 0
    functionsReached:
    - struct rtpp_loader*::scan
    - rtpp_load
    - struct rtpp_loader*::destroy
    linkageType: ''
    returnType: int
    signature: int scan_session(const char *path)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/extractaudio/extractaudio.c:262,1
    - Dst: MYQ_INIT
      Src: /src/rtpproxy/extractaudio/extractaudio.c:265,1
    - Dst: MYQ_INIT
      Src: /src/rtpproxy/extractaudio/extractaudio.c:266,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/extractaudio.c:267,1
    - Dst: getopt_long
      Src: /src/rtpproxy/extractaudio/extractaudio.c:283,1
    - Dst: pick_format
      Src: /src/rtpproxy/extractaudio/extractaudio.c:306,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:308,1
    - Dst: dump_formats_descr
      Src: /src/rtpproxy/extractaudio/extractaudio.c:309,1
    - Dst: pick_format
      Src: /src/rtpproxy/extractaudio/extractaudio.c:317,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:319,1
    - Dst: dump_formats_descr
      Src: /src/rtpproxy/extractaudio/extractaudio.c:320,1
    - Dst: eaud_crypto_getopt_parse
      Src: /src/rtpproxy/extractaudio/extractaudio.c:337,1
    - Dst: eaud_crypto_getopt_parse
      Src: /src/rtpproxy/extractaudio/extractaudio.c:345,1
    - Dst: usage
      Src: /src/rtpproxy/extractaudio/extractaudio.c:363,1
    - Dst: usage
      Src: /src/rtpproxy/extractaudio/extractaudio.c:370,1
    - Dst: usage
      Src: /src/rtpproxy/extractaudio/extractaudio.c:372,1
    - Dst: rtprio
      Src: /src/rtpproxy/extractaudio/extractaudio.c:386,1
    - Dst: setpriority
      Src: /src/rtpproxy/extractaudio/extractaudio.c:388,1
    - Dst: sprintf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:393,1
    - Dst: sprintf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:395,1
    - Dst: printf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:403,1
    - Dst: scan_session
      Src: /src/rtpproxy/extractaudio/extractaudio.c:403,1
    - Dst: printf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:406,1
    - Dst: scan_session
      Src: /src/rtpproxy/extractaudio/extractaudio.c:406,1
    - Dst: load_session
      Src: /src/rtpproxy/extractaudio/extractaudio.c:413,1
    - Dst: errx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:416,1
    - Dst: load_session
      Src: /src/rtpproxy/extractaudio/extractaudio.c:420,1
    - Dst: errx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:423,1
    - Dst: errx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:427,1
    - Dst: MYQ_EMPTY
      Src: /src/rtpproxy/extractaudio/extractaudio.c:430,1
    - Dst: MYQ_FOREACH
      Src: /src/rtpproxy/extractaudio/extractaudio.c:433,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:434,1
    - Dst: MYQ_LAST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:435,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:439,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:441,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:441,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:441,1
    - Dst: MYQ_FIRST
      Src: /src/rtpproxy/extractaudio/extractaudio.c:441,1
    - Dst: MYQ_FOREACH
      Src: /src/rtpproxy/extractaudio/extractaudio.c:443,1
    - Dst: MYQ_FOREACH
      Src: /src/rtpproxy/extractaudio/extractaudio.c:447,1
    - Dst: decoder_new
      Src: /src/rtpproxy/extractaudio/extractaudio.c:449,1
    - Dst: err
      Src: /src/rtpproxy/extractaudio/extractaudio.c:451,1
    - Dst: sf_open
      Src: /src/rtpproxy/extractaudio/extractaudio.c:459,1
    - Dst: errx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:461,1
    - Dst: fopen
      Src: /src/rtpproxy/extractaudio/extractaudio.c:463,1
    - Dst: eaud_ss_syncactive
      Src: /src/rtpproxy/extractaudio/extractaudio.c:476,1
    - Dst: errx
      Src: /src/rtpproxy/extractaudio/extractaudio.c:477,1
    - Dst: decoder_get
      Src: /src/rtpproxy/extractaudio/extractaudio.c:493,1
    - Dst: eaud_ss_find
      Src: /src/rtpproxy/extractaudio/extractaudio.c:498,1
    - Dst: assert
      Src: /src/rtpproxy/extractaudio/extractaudio.c:499,1
    - Dst: channel_remove
      Src: /src/rtpproxy/extractaudio/extractaudio.c:500,1
    - Dst: MYQ_NEXT
      Src: /src/rtpproxy/extractaudio/extractaudio.c:501,1
    - Dst: channel_remove
      Src: /src/rtpproxy/extractaudio/extractaudio.c:503,1
    - Dst: fwrite
      Src: /src/rtpproxy/extractaudio/extractaudio.c:547,1
    - Dst: sf_write_short
      Src: /src/rtpproxy/extractaudio/extractaudio.c:549,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/extractaudio.c:554,1
    - Dst: fclose
      Src: /src/rtpproxy/extractaudio/extractaudio.c:558,1
    - Dst: sf_close
      Src: /src/rtpproxy/extractaudio/extractaudio.c:560,1
    - Dst: link
      Src: /src/rtpproxy/extractaudio/extractaudio.c:563,1
    - Dst: unlink
      Src: /src/rtpproxy/extractaudio/extractaudio.c:570,1
    - Dst: unlink
      Src: /src/rtpproxy/extractaudio/extractaudio.c:573,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/extractaudio.c:579,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/extractaudio.c:581,1
    - Dst: rtpp_memdeb_dumpstats
      Src: /src/rtpproxy/extractaudio/extractaudio.c:585,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 285
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (tnp != NULL)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/rtpproxy/extractaudio/extractaudio.c
    constantsTouched: []
    func_position:
      end: 590
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 590
    functionName: main
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 2
    functionsReached:
    - pick_format
    - link
    - assert
    - decoder_get
    - MYQ_NEXT
    - MYQ_LAST
    - sf_open
    - fprintf
    - sf_write_short
    - channel_remove
    - printf
    - usage
    - MYQ_INIT
    - eaud_ss_syncactive
    - warnx
    - fopen
    - free
    - errx
    - decoder_new
    - dump_formats_descr
    - scan_session
    - MYQ_EMPTY
    - fclose
    - fwrite
    - RTPP_MEMDEB_APP_INIT
    - sf_close
    - memset
    - sprintf
    - getopt_long
    - MYQ_FOREACH
    - rtprio
    - load_session
    - err
    - setpriority
    - rtpp_memdeb_dumpstats
    - eaud_ss_find
    - eaud_crypto_getopt_parse
    - MYQ_FIRST
    - unlink
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: decoder_get
      Src: /src/rtpproxy/extractaudio/extractaudio.c:493,1
    - Dst: eaud_ss_find
      Src: /src/rtpproxy/extractaudio/extractaudio.c:498,1
    - Dst: assert
      Src: /src/rtpproxy/extractaudio/extractaudio.c:499,1
    - Dst: channel_remove
      Src: /src/rtpproxy/extractaudio/extractaudio.c:500,1
    - Dst: MYQ_NEXT
      Src: /src/rtpproxy/extractaudio/extractaudio.c:501,1
    - Dst: channel_remove
      Src: /src/rtpproxy/extractaudio/extractaudio.c:503,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tnp != NULL)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/rtpproxy/extractaudio/extractaudio.c
    constantsTouched: []
    func_position:
      end: 532
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 532
    functionName: MYQ_FOREACH
    functionSourceFile: /src/rtpproxy/extractaudio/extractaudio.c
    functionUses: 1
    functionsReached:
    - channel_remove
    - assert
    - decoder_get
    - eaud_ss_find
    - MYQ_NEXT
    linkageType: ''
    returnType: void
    signature: void MYQ_FOREACH(cnp, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/extractaudio/g729_compat.c:15,1
    - Dst: bcg729Decoder
      Src: /src/rtpproxy/extractaudio/g729_compat.c:18,1
    - Dst: bcg729Decoder
      Src: /src/rtpproxy/extractaudio/g729_compat.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - ibuf
    - ibsize
    argTypes:
    - G729_DCTX*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ibsize <= 10)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/rtpproxy/extractaudio/g729_compat.c
    constantsTouched: []
    func_position:
      end: 24
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 24
    functionName: g279_compat_decode
    functionSourceFile: /src/rtpproxy/extractaudio/g729_compat.c
    functionUses: 0
    functionsReached:
    - assert
    - bcg729Decoder
    linkageType: ''
    returnType: int16_t
    signature: 'int16_t *

      g279_compat_decode(G729_DCTX *ctx, uint8_t *ibuf, size_t ibsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bcg729Encoder
      Src: /src/rtpproxy/extractaudio/g729_compat.c:31,1
    - Dst: bcg729Encoder
      Src: /src/rtpproxy/extractaudio/g729_compat.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - ibuf
    - obuf
    - bl
    argTypes:
    - G729_ECTX*
    - int16_t[]
    - uint8_t[]
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: g279_compat_encode
    functionSourceFile: /src/rtpproxy/extractaudio/g729_compat.c
    functionUses: 0
    functionsReached:
    - bcg729Encoder
    linkageType: ''
    returnType: void
    signature: void g279_compat_encode(G729_ECTX *ctx, int16_t ibuf[], uint8_t obuf[],
      uint8_t *bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g729_encode_frame
      Src: /src/rtpproxy/extractaudio/g729_compat.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - ibuf
    - obuf
    - bl
    argTypes:
    - G729_ECTX*
    - int16_t[]
    - uint8_t[]
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: g279_compat_encode
    functionSourceFile: /src/rtpproxy/extractaudio/g729_compat.c
    functionUses: 0
    functionsReached:
    - g729_encode_frame
    linkageType: ''
    returnType: void
    signature: void g279_compat_encode(G729_ECTX *ctx, int16_t ibuf[], uint8_t obuf[],
      uint8_t *bl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:74,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loader
    argTypes:
    - struct rtpp_loader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: rtpp_loader_destroy
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: void
    signature: void rtpp_loader_destroy(struct rtpp_loader *loader)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:84,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:88,1
    - Dst: open
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:90,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:92,1
    - Dst: fstat
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:96,1
    - Dst: close
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:97,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:98,1
    - Dst: mmap
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:103,1
    - Dst: mmap
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:107,1
    - Dst: close
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:111,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:112,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:125,1
    - Dst: struct rtpp_loader*::destroy
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:126,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:131,1
    - Dst: struct rtpp_loader*::destroy
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:132,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:136,1
    - Dst: struct rtpp_loader*::destroy
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 146
    functionName: rtpp_load
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 2
    functionsReached:
    - free
    - mmap
    - struct rtpp_loader*::destroy
    - close
    - malloc
    - open
    - warnx
    - memset
    - fstat
    linkageType: ''
    returnType: struct rtpp_loader
    signature: 'struct rtpp_loader *

      rtpp_load(const char *path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:153,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - origin
    argTypes:
    - enum origin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: channel_alloc
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    linkageType: ''
    returnType: struct channel
    signature: 'struct channel *

      channel_alloc(enum origin origin)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: eaud_adhoc_dissect
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:178,1
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:188,1
    - Dst: warn
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:190,1
    - Dst: rtp_packet_parse_raw
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:193,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:197,1
    - Dst: rtp_packet_parse_errstr
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:197,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:198,1
    - Dst: RPKT
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:202,1
    - Dst: update_rtpp_stats
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:203,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:206,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:207,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:211,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:212,1
    - Dst: session_lookup
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:216,1
    - Dst: channel_alloc
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:218,1
    - Dst: MYQ_INIT
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:223,1
    - Dst: MYQ_INSERT_HEAD
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:224,1
    - Dst: channel_insert
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:225,1
    - Dst: warn
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:226,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:237,1
    - Dst: MYQ_INSERT_AFTER
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:242,1
    - Dst: MYQ_INSERT_HEAD
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:246,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:253,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:258,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 5
    argNames:
    - loader
    - channels
    - stat
    - origin
    - crypto
    argTypes:
    - struct rtpp_loader*
    - struct channels*
    - struct rtpp_session_stat*
    - enum origin
    - struct eaud_crypto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 161
    functionDepth: 5
    functionLinenumber: 161
    functionLinenumberEnd: 260
    functionName: load_adhoc
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 0
    functionsReached:
    - free
    - warn
    - MYQ_INSERT_AFTER
    - channel_alloc
    - channel_insert
    - RPKT
    - malloc
    - rtp_packet_parse_raw
    - update_rtpp_stats
    - eaud_adhoc_dissect
    - rtp_packet_parse_errstr
    - session_lookup
    - MYQ_INSERT_HEAD
    - MYQ_INIT
    - warnx
    linkageType: ''
    returnType: int
    signature: "int load_adhoc(struct rtpp_loader *loader, struct channels *channels,\n
      \ struct rtpp_session_stat *stat, enum origin origin,\n  struct eaud_crypto
      *crypto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:237,1
    - Dst: MYQ_INSERT_AFTER
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: MYQ_FOREACH_REVERSE
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 1
    functionsReached:
    - free
    - MYQ_INSERT_AFTER
    linkageType: ''
    returnType: void
    signature: void MYQ_FOREACH_REVERSE(pp, sess)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_REC_LEN
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:282,1
    - Dst: eaud_pcap_dissect
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:283,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:287,1
    - Dst: eaud_crypto_decrypt
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:295,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:297,1
    - Dst: assert
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:300,1
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:308,1
    - Dst: warn
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:310,1
    - Dst: rtp_packet_parse_raw
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:313,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:316,1
    - Dst: rtp_packet_parse_errstr
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:316,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:317,1
    - Dst: ts2dtime
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:322,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:327,1
    - Dst: memcpy
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:331,1
    - Dst: update_rtpp_stats
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:334,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:336,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:337,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:341,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:342,1
    - Dst: session_lookup
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:346,1
    - Dst: channel_alloc
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:348,1
    - Dst: warn
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:350,1
    - Dst: MYQ_INIT
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:354,1
    - Dst: MYQ_INSERT_HEAD
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:355,1
    - Dst: channel_insert
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:356,1
    - Dst: warn
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:357,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:368,1
    - Dst: MYQ_INSERT_AFTER
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:373,1
    - Dst: MYQ_INSERT_HEAD
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:377,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:384,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:389,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 5
    argNames:
    - loader
    - channels
    - stat
    - origin
    - crypto
    argTypes:
    - struct rtpp_loader*
    - struct channels*
    - struct rtpp_session_stat*
    - enum origin
    - struct eaud_crypto*
    assertStmts:
    - condition: (rtp_pkt_len <= pd.l5_len)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/rtpproxy/extractaudio/rtpp_loader.c
    constantsTouched: []
    func_position:
      end: 391
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 391
    functionName: load_pcap
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 0
    functionsReached:
    - warn
    - channel_alloc
    - ts2dtime
    - assert
    - rtp_packet_parse_raw
    - update_rtpp_stats
    - MYQ_INIT
    - warnx
    - free
    - rtp_packet_parse_errstr
    - MYQ_INSERT_AFTER
    - eaud_pcap_dissect
    - MYQ_INSERT_HEAD
    - PCAP_REC_LEN
    - channel_insert
    - malloc
    - memcpy
    - session_lookup
    - eaud_crypto_decrypt
    linkageType: ''
    returnType: int
    signature: "int load_pcap(struct rtpp_loader *loader, struct channels *channels,\n
      \ struct rtpp_session_stat *stat, enum origin origin,\n  struct eaud_crypto
      *crypto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:368,1
    - Dst: MYQ_INSERT_AFTER
      Src: /src/rtpproxy/extractaudio/rtpp_loader.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: MYQ_FOREACH_REVERSE
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_loader.c
    functionUses: 1
    functionsReached:
    - free
    - MYQ_INSERT_AFTER
    linkageType: ''
    returnType: void
    signature: void MYQ_FOREACH_REVERSE(pp, sess)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: PCAP_REC_LEN
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_REC_LEN(pdp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/extractaudio/srtp_util.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: base64_block_to_octet_triple
    functionSourceFile: /src/rtpproxy/extractaudio/srtp_util.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int base64_block_to_octet_triple (char *out, char *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base64_block_to_octet_triple
      Src: /src/rtpproxy/extractaudio/srtp_util.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - out
    - pad
    - in
    - len
    argTypes:
    - char*
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: base64_string_to_octet_string
    functionSourceFile: /src/rtpproxy/extractaudio/srtp_util.c
    functionUses: 0
    functionsReached:
    - base64_block_to_octet_triple
    linkageType: ''
    returnType: int
    signature: int base64_string_to_octet_string (char *out, int *pad, char *in, int
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eaud_adhoc_dissect
      Src: /src/rtpproxy/extractaudio/rtpp_scan_adhoc.c:61,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_scan_adhoc.c:65,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_scan_adhoc.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - loader
    - sessions
    argTypes:
    - struct rtpp_loader*
    - struct sessions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 75
    functionName: rtpp_scan_adhoc
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_scan_adhoc.c
    functionUses: 0
    functionsReached:
    - warnx
    - eaud_adhoc_dissect
    linkageType: ''
    returnType: int
    signature: int rtpp_scan_adhoc(struct rtpp_loader *loader, struct sessions *sessions)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_REC_LEN
      Src: /src/rtpproxy/extractaudio/rtpp_scan_pcap.c:62,1
    - Dst: eaud_pcap_dissect
      Src: /src/rtpproxy/extractaudio/rtpp_scan_pcap.c:63,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_scan_pcap.c:67,1
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/rtpp_scan_pcap.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - loader
    - sessions
    argTypes:
    - struct rtpp_loader*
    - struct sessions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: rtpp_scan_pcap
    functionSourceFile: /src/rtpproxy/extractaudio/rtpp_scan_pcap.c
    functionUses: 0
    functionsReached:
    - eaud_pcap_dissect
    - warnx
    - PCAP_REC_LEN
    linkageType: ''
    returnType: int
    signature: int rtpp_scan_pcap(struct rtpp_loader *loader, struct sessions *sessions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - ibuf
    - ','
    - isize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: G729_DECODE
    functionSourceFile: /src/rtpproxy/extractaudio/g729_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G729_DECODE(ctx, ibuf, isize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - ibuf
    - ','
    - isize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: G729_DECODE
    functionSourceFile: /src/rtpproxy/extractaudio/g729_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G729_DECODE(ctx, ibuf, isize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssp
    - cp
    argTypes:
    - struct channels*
    - struct channel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: eaud_ss_find
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_substreams.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct cnode
    signature: 'struct cnode *

      eaud_ss_find(struct channels *ssp, struct channel *cp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: MYQ_FOREACH
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_substreams.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MYQ_FOREACH(cnp, ssp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eaud_ss_find
      Src: /src/rtpproxy/extractaudio/eaud_substreams.c:66,1
    - Dst: channel_insert
      Src: /src/rtpproxy/extractaudio/eaud_substreams.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - all_ssp
    - act_ssp
    - csample
    - nsample
    argTypes:
    - struct channels*
    - struct channels*
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: eaud_ss_syncactive
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_substreams.c
    functionUses: 1
    functionsReached:
    - channel_insert
    - eaud_ss_find
    linkageType: ''
    returnType: int
    signature: "int eaud_ss_syncactive(struct channels *all_ssp, struct channels *act_ssp,\n
      \ int64_t csample, int64_t *nsample)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eaud_ss_find
      Src: /src/rtpproxy/extractaudio/eaud_substreams.c:66,1
    - Dst: channel_insert
      Src: /src/rtpproxy/extractaudio/eaud_substreams.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: MYQ_FOREACH
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_substreams.c
    functionUses: 1
    functionsReached:
    - channel_insert
    - eaud_ss_find
    linkageType: ''
    returnType: void
    signature: void MYQ_FOREACH(cnp, all_ssp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:99,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - suite_name
    - name_len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: srtp_crypto_suite_lookup
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_crypto.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: struct srtp_crypto_suite
    signature: 'struct srtp_crypto_suite *

      srtp_crypto_suite_lookup(const char *suite_name, int name_len)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:117,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:119,1
    - Dst: srtp_crypto_suite_lookup
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:123,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:125,1
    - Dst: assert
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:130,1
    - Dst: strlen
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:132,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:133,1
    - Dst: strlen
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:134,1
    - Dst: malloc
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:137,1
    - Dst: memset
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:141,1
    - Dst: base64_string_to_octet_string
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:142,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:144,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:148,1
    - Dst: srtp_crypto_policy_set_rtp_default
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:153,1
    - Dst: srtp_crypto_policy_set_rtcp_default
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:154,1
    - Dst: free
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    assertStmts:
    - condition: (expected_len <= MAX_KEY_LEN)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
    constantsTouched: []
    func_position:
      end: 165
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 165
    functionName: eaud_crypto_getopt_parse
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_crypto.c
    functionUses: 1
    functionsReached:
    - free
    - fprintf
    - srtp_crypto_suite_lookup
    - malloc
    - srtp_crypto_policy_set_rtp_default
    - assert
    - strchr
    - srtp_crypto_policy_set_rtcp_default
    - strlen
    - memset
    - base64_string_to_octet_string
    linkageType: ''
    returnType: struct eaud_crypto
    signature: 'struct eaud_crypto *

      eaud_crypto_getopt_parse(char *optarg)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: srtp_init
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:181,1
    - Dst: ntohl
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:189,1
    - Dst: srtp_create
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:191,1
    - Dst: srtp_unprotect
      Src: /src/rtpproxy/extractaudio/eaud_crypto.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - crypto
    - pkt_raw
    - pkt_len
    argTypes:
    - struct eaud_crypto*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 202
    functionName: eaud_crypto_decrypt
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_crypto.c
    functionUses: 1
    functionsReached:
    - srtp_unprotect
    - srtp_create
    - ntohl
    - srtp_init
    linkageType: ''
    returnType: int
    signature: int eaud_crypto_decrypt(struct eaud_crypto *crypto, uint8_t *pkt_raw,
      int pkt_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: warnx
      Src: /src/rtpproxy/extractaudio/eaud_adhoc.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - bp
    - blen
    - adp
    argTypes:
    - unsigned char*
    - size_t
    - struct adhoc_dissect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: eaud_adhoc_dissect
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_adhoc.c
    functionUses: 2
    functionsReached:
    - warnx
    linkageType: ''
    returnType: int
    signature: "int eaud_adhoc_dissect(unsigned char *bp, size_t blen,\n  struct adhoc_dissect
      \ *adp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: RPKT
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_adhoc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPKT(adp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/extractaudio/eaud_oformats.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ftable
    argTypes:
    - char*
    - struct supported_fmt[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: pick_format
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_oformats.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: struct supported_fmt
    signature: 'struct supported_fmt *

      pick_format(const char *name, const struct supported_fmt ftable[])'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_oformats.c:116,1
    - Dst: fprintf
      Src: /src/rtpproxy/extractaudio/eaud_oformats.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - ftable
    argTypes:
    - char*
    - struct supported_fmt[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: dump_formats_descr
    functionSourceFile: /src/rtpproxy/extractaudio/eaud_oformats.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_formats_descr(const char *msg, const struct supported_fmt
      ftable[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:107,1
    - Dst: ucl_object_push_lua_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:108,1
    - Dst: lua_settable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - L
    - key
    - obj
    - flags
    argTypes:
    - lua_State*
    - char*
    - ucl_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: ucl_object_lua_push_element
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_settable
    - ucl_object_push_lua_common
    linkageType: ''
    returnType: void
    signature: "void ucl_object_lua_push_element (lua_State *L, const char *key,\n\t\tconst
      ucl_object_t *obj, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: luaL_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:117,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:119,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ud
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: lua_ucl_userdata_dtor
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - free
    - luaL_unref
    linkageType: ''
    returnType: void
    signature: void lua_ucl_userdata_dtor (void *ud)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_rawgeti
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:130,1
    - Dst: lua_pcall
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:132,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:133,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:138,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:140,1
    - Dst: lua_settop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ud
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: lua_ucl_userdata_emitter
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - free
    - lua_settop
    - lua_rawgeti
    - lua_pcall
    - lua_tostring
    - strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      lua_ucl_userdata_emitter (void *ud)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lua_push_array
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:163,1
    - Dst: lua_createtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:166,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:169,1
    - Dst: ucl_object_lua_push_element
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:170,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:170,1
    - Dst: luaL_getmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:173,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - L
    - obj
    - flags
    argTypes:
    - lua_State*
    - ucl_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: ucl_object_lua_push_object
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_createtable
    - ucl_object_iterate
    - ucl_object_lua_push_array
    - ucl_object_lua_push_element
    - luaL_getmetatable
    - lua_setmetatable
    - ucl_object_key
    linkageType: ''
    returnType: int
    signature: "int ucl_object_lua_push_object (lua_State *L, const ucl_object_t *obj,\n\t\tint
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:194,1
    - Dst: lua_createtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:195,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:197,1
    - Dst: ucl_object_push_lua
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:198,1
    - Dst: lua_rawseti
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:199,1
    - Dst: luaL_getmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:203,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:204,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:206,1
    - Dst: lua_createtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:214,1
    - Dst: ucl_object_push_lua
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:217,1
    - Dst: lua_rawseti
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:218,1
    - Dst: luaL_getmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:222,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - L
    - obj
    - flags
    argTypes:
    - lua_State*
    - ucl_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 227
    functionName: ucl_object_lua_push_array
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 1
    functionsReached:
    - ucl_object_iterate_new
    - lua_createtable
    - lua_rawseti
    - lua_setmetatable
    - ucl_object_iterate_free
    - luaL_getmetatable
    - ucl_object_push_lua
    - ucl_object_iterate_safe
    linkageType: ''
    returnType: int
    signature: int ucl_object_lua_push_array (lua_State *L, const ucl_object_t *obj,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: LL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LL_FOREACH (obj, cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_push_lua
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:217,1
    - Dst: lua_rawseti
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: LL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_push_lua
    - lua_rawseti
    linkageType: ''
    returnType: void
    signature: void LL_FOREACH (obj, cur)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lua_push_array
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:240,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:245,1
    - Dst: ucl_obj_toboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:245,1
    - Dst: lua_pushlstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:248,1
    - Dst: ucl_obj_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:248,1
    - Dst: lua_pushinteger
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:252,1
    - Dst: ucl_obj_toint
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:252,1
    - Dst: lua_pushnumber
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:254,1
    - Dst: ucl_obj_toint
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:254,1
    - Dst: lua_pushnumber
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:259,1
    - Dst: ucl_obj_todouble
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:259,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:263,1
    - Dst: lua_getfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:266,1
    - Dst: lua_rawgeti
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:271,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - L
    - obj
    - flags
    argTypes:
    - lua_State*
    - ucl_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 279
    functionName: ucl_object_lua_push_scalar
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_obj_tostring
    - ucl_obj_todouble
    - lua_pushnumber
    - lua_rawgeti
    - lua_pushboolean
    - lua_pushinteger
    - ucl_object_lua_push_array
    - lua_getfield
    - ucl_obj_toint
    - lua_pushlstring
    - lua_pushnil
    - ucl_obj_toboolean
    linkageType: ''
    returnType: int
    signature: "int ucl_object_lua_push_scalar (lua_State *L, const ucl_object_t *obj,\n\t\tint
      flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lua_push_object
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:286,1
    - Dst: ucl_object_lua_push_array
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:288,1
    - Dst: ucl_object_lua_push_scalar
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - L
    - obj
    - flags
    argTypes:
    - lua_State*
    - ucl_object_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: ucl_object_push_lua_common
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 1
    functionsReached:
    - ucl_object_lua_push_array
    - ucl_object_lua_push_scalar
    - ucl_object_lua_push_object
    linkageType: ''
    returnType: int
    signature: int ucl_object_push_lua_common (lua_State *L, const ucl_object_t *obj,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_push_lua_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - L
    - obj
    - allow_array
    argTypes:
    - lua_State*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: ucl_object_push_lua
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 2
    functionsReached:
    - ucl_object_push_lua_common
    linkageType: ''
    returnType: int
    signature: int ucl_object_push_lua (lua_State *L, const ucl_object_t *obj, bool
      allow_array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_push_lua_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - L
    - obj
    - allow_array
    argTypes:
    - lua_State*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: ucl_object_push_lua_filter_nil
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_push_lua_common
    linkageType: ''
    returnType: int
    signature: int ucl_object_push_lua_filter_nil (lua_State *L, const ucl_object_t
      *obj, bool allow_array)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:341,1
    - Dst: luaL_getmetafield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:345,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:347,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:348,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:350,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:353,1
    - Dst: lua_rawlen
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:357,1
    - Dst: lua_objlen
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:359,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:362,1
    - Dst: lua_rawlen
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:367,1
    - Dst: lua_objlen
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:369,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:375,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:380,1
    - Dst: lua_next
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:382,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:383,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:385,1
    - Dst: lua_tonumber
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:386,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:402,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:411,1
    - Dst: ucl_object_reserve
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:412,1
    - Dst: lua_pushinteger
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:419,1
    - Dst: lua_gettable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:420,1
    - Dst: ucl_object_lua_fromelt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:422,1
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:422,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:426,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:429,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:432,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:436,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:437,1
    - Dst: ucl_object_reserve
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:438,1
    - Dst: lua_next
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:440,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:442,1
    - Dst: lua_tolstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:443,1
    - Dst: ucl_object_lua_fromelt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:444,1
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:444,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:447,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:456,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 3
    argNames:
    - L
    - idx
    - flags
    argTypes:
    - lua_State*
    - int
    - ucl_string_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 461
    functionName: ucl_object_lua_fromtable
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - luaL_getmetafield
    - ucl_array_append
    - lua_next
    - lua_gettop
    - DL_APPEND
    - lua_tolstring
    - lua_rawlen
    - lua_tonumber
    - lua_type
    - strcmp
    - lua_tostring
    - lua_objlen
    - lua_pop
    - lua_pushvalue
    - ucl_object_lua_fromelt
    - lua_pushinteger
    - ucl_object_typed_new
    - ucl_object_insert_key
    - lua_gettable
    - ucl_object_reserve
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 454
    functionName: DL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH (obj, cur)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:479,1
    - Dst: lua_tolstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:483,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:491,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:494,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:498,1
    - Dst: lua_tonumber
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:502,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:504,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:507,1
    - Dst: ucl_object_frombool
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:511,1
    - Dst: lua_toboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:511,1
    - Dst: lua_topointer
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:514,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:515,1
    - Dst: lua_touserdata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:519,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:523,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:526,1
    - Dst: luaL_getmetafield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:539,1
    - Dst: lua_isfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:540,1
    - Dst: lua_settop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:541,1
    - Dst: lua_insert
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:542,1
    - Dst: lua_insert
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:543,1
    - Dst: lua_call
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:544,1
    - Dst: ucl_object_lua_fromelt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:545,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:547,1
    - Dst: ucl_object_lua_fromtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:551,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:554,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:556,1
    - Dst: luaL_ref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:559,1
    - Dst: ucl_object_new_userdata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:561,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 3
    argNames:
    - L
    - idx
    - flags
    argTypes:
    - lua_State*
    - int
    - ucl_string_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 570
    functionName: ucl_object_lua_fromelt
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 2
    functionsReached:
    - luaL_getmetafield
    - lua_toboolean
    - ucl_object_lua_fromtable
    - ucl_object_fromint
    - lua_tolstring
    - lua_isfunction
    - ucl_object_frombool
    - ucl_object_fromdouble
    - lua_call
    - ucl_object_new_userdata
    - lua_topointer
    - lua_tonumber
    - lua_type
    - lua_pop
    - lua_insert
    - lua_settop
    - ucl_object_lua_fromelt
    - malloc
    - lua_pushvalue
    - ucl_object_typed_new
    - ucl_object_fromstring_common
    - luaL_ref
    - lua_touserdata
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lua_fromelt (lua_State *L, int idx, ucl_string_flags_t flags)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:587,1
    - Dst: ucl_object_lua_fromtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:590,1
    - Dst: ucl_object_lua_fromelt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - L
    - idx
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 598
    functionName: ucl_object_lua_import
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_lua_fromtable
    - lua_type
    - ucl_object_lua_fromelt
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lua_import (lua_State *L, int idx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:615,1
    - Dst: ucl_object_lua_fromtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:618,1
    - Dst: ucl_object_lua_fromelt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - L
    - idx
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 626
    functionName: ucl_object_lua_import_escape
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_lua_fromtable
    - lua_type
    - ucl_object_lua_fromelt
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lua_import_escape (lua_State *L, int idx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_emit_len
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:634,1
    - Dst: lua_pushlstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:637,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:638,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - L
    - obj
    - type
    argTypes:
    - lua_State*
    - ucl_object_t*
    - enum ucl_emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 645
    functionName: lua_ucl_to_string
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - free
    - lua_pushnil
    - lua_pushlstring
    - ucl_object_emit_len
    linkageType: ''
    returnType: int
    signature: int lua_ucl_to_string (lua_State *L, const ucl_object_t *obj, enum
      ucl_emitter type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:653,1
    - Dst: lua_tonumber
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:654,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:657,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:659,1
    - Dst: lua_newuserdata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:662,1
    - Dst: luaL_getmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:664,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 668
    functionName: lua_ucl_parser_init
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_gettop
    - ucl_parser_new
    - lua_pushnil
    - lua_newuserdata
    - luaL_getmetatable
    - lua_setmetatable
    - lua_tonumber
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_init (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: lua_ucl_parser_get
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    linkageType: ''
    returnType: struct ucl_parser
    signature: 'struct ucl_parser *

      lua_ucl_parser_get (lua_State *L, int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkudata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: lua_ucl_object_get
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_checkudata
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      lua_ucl_object_get (lua_State *L, int index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_newuserdata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:687,1
    - Dst: luaL_getmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:689,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - L
    - obj
    argTypes:
    - lua_State*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 691
    functionName: lua_ucl_push_opaque
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_getmetatable
    - lua_setmetatable
    - lua_newuserdata
    linkageType: ''
    returnType: void
    signature: void lua_ucl_push_opaque (lua_State *L, ucl_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:699,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:702,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:703,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 712
    functionName: lua_ucl_str_to_parse_type
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: enum ucl_parse_type
    signature: enum ucl_parse_type lua_ucl_str_to_parse_type (const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:736,1
    - Dst: luaL_checkstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:737,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:740,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:741,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:745,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:746,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:746,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:750,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 755
    functionName: lua_ucl_parser_parse_file
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_parser_get_error
    - lua_pushstring
    - lua_pushboolean
    - ucl_parser_add_file
    - luaL_checkstring
    - lua_ucl_parser_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_parse_file (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:774,1
    - Dst: luaL_checkstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:775,1
    - Dst: luaL_checkstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:776,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:779,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:780,1
    - Dst: luaL_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 788
    functionName: lua_ucl_parser_register_variable
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_pushboolean
    - ucl_parser_register_variable
    - luaL_checkstring
    - lua_ucl_parser_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_register_variable (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:806,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:808,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:809,1
    - Dst: lua_next
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:809,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:809,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:810,1
    - Dst: luaL_checkstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:811,1
    - Dst: luaL_checkstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:812,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:813,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:814,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:817,1
    - Dst: luaL_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 825
    functionName: lua_ucl_parser_register_variables
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - lua_pushvalue
    - lua_type
    - lua_pushboolean
    - ucl_parser_register_variable
    - lua_pushnil
    - luaL_checkstring
    - lua_ucl_parser_get
    - lua_pop
    - lua_next
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_register_variables (lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:842,1
    - Dst: luaL_checklstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:843,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:845,1
    - Dst: lua_ucl_str_to_parse_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:846,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:846,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:850,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:852,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:856,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:857,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:857,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:861,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:862,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 866
    functionName: lua_ucl_parser_parse_string
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_parser_add_chunk_full
    - luaL_checklstring
    - ucl_parser_get_error
    - lua_pushstring
    - lua_type
    - lua_ucl_str_to_parse_type
    - lua_pushboolean
    - lua_tostring
    - lua_ucl_parser_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_parse_string (lua_State *L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:882,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:884,1
    - Dst: lua_touserdata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:885,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:887,1
    - Dst: lua_tolstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:892,1
    - Dst: luaL_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:899,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:902,1
    - Dst: lua_ucl_str_to_parse_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:903,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:903,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:907,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:909,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:913,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:914,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:914,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:918,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 923
    functionName: lua_ucl_parser_parse_text
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_error
    - ucl_parser_add_chunk_full
    - lua_tolstring
    - ucl_parser_get_error
    - lua_pushstring
    - lua_type
    - lua_ucl_str_to_parse_type
    - lua_pushboolean
    - lua_tostring
    - lua_ucl_parser_get
    - lua_touserdata
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_parse_text (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:937,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:938,1
    - Dst: ucl_object_push_lua
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:941,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:943,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 930
    functionDepth: 5
    functionLinenumber: 930
    functionLinenumberEnd: 950
    functionName: lua_ucl_parser_get_object
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_parser_get_object
    - ucl_object_push_lua
    - lua_pushnil
    - lua_ucl_parser_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_get_object (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:965,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:966,1
    - Dst: lua_ucl_push_opaque
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:969,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 976
    functionName: lua_ucl_parser_get_object_wrapped
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_parser_get_object
    - lua_ucl_parser_get
    - lua_ucl_push_opaque
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_get_object_wrapped (lua_State *L)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:995,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:998,1
    - Dst: ucl_object_lua_import
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:999,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1002,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1003,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1008,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1009,1
    - Dst: luaL_checkstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1010,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1012,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1013,1
    - Dst: lua_pushfstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1014,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1015,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1016,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1021,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1022,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1025,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1026,1
    - Dst: ucl_object_validate
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1031,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1032,1
    - Dst: lua_pushfstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1033,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1037,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1038,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1041,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1044,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1045,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 987
    functionDepth: 4
    functionLinenumber: 987
    functionLinenumberEnd: 1049
    functionName: lua_ucl_parser_validate
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_parser_get_object
    - ucl_parser_free
    - ucl_parser_get_error
    - ucl_object_lua_import
    - lua_pushstring
    - lua_pushboolean
    - lua_type
    - ucl_parser_new
    - ucl_parser_add_file
    - lua_pushnil
    - luaL_checkstring
    - lua_pushfstring
    - ucl_object_validate
    - lua_ucl_parser_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_validate (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1056,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1060
    functionName: lua_ucl_parser_gc
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_ucl_parser_get
    - ucl_parser_free
    linkageType: ''
    returnType: int
    signature: int lua_ucl_parser_gc (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1072,1
    - Dst: ucl_object_push_lua
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1075,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1067
    functionDepth: 5
    functionLinenumber: 1067
    functionLinenumberEnd: 1082
    functionName: lua_ucl_object_unwrap
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - ucl_object_push_lua
    - lua_ucl_object_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_object_unwrap (lua_State *L)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1089,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1092,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1095,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1098,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - strtype
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1104
    functionName: lua_ucl_str_to_emit_type
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: enum ucl_emitter
    signature: enum ucl_emitter lua_ucl_str_to_emit_type (const char *strtype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1125,1
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1128,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1129,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1130,1
    - Dst: lua_ucl_str_to_emit_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1132,1
    - Dst: lua_ucl_to_string
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1136,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1143
    functionName: lua_ucl_object_tostring
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_ucl_to_string
    - lua_gettop
    - lua_type
    - lua_pushnil
    - lua_tostring
    - lua_ucl_str_to_emit_type
    - lua_ucl_object_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_object_tostring (lua_State *L)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1166,1
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1167,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1169,1
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1170,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1171,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1172,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1177,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1177,1
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1180,1
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1183,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1184,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1184,1
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1187,1
    - Dst: ucl_object_lookup_path_char
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1193,1
    - Dst: ucl_object_validate_root_ext
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1201,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1205,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1206,1
    - Dst: lua_ucl_push_opaque
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1209,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1213,1
    - Dst: lua_pushfstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1214,1
    - Dst: lua_ucl_push_opaque
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1217,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1222,1
    - Dst: lua_pushfstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1224,1
    - Dst: lua_ucl_push_opaque
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1227,1
    - Dst: lua_pushboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1232,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1233,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1241
    functionName: lua_ucl_object_validate
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_validate_root_ext
    - lua_gettop
    - lua_pushstring
    - lua_type
    - ucl_object_type
    - lua_pushboolean
    - lua_pushnil
    - lua_pushfstring
    - lua_tostring
    - ucl_object_lookup_path_char
    - lua_ucl_push_opaque
    - lua_ucl_object_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_object_validate (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_object_get
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1248,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1253
    functionName: lua_ucl_object_gc
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - lua_ucl_object_get
    linkageType: ''
    returnType: int
    signature: int lua_ucl_object_gc (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1258,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1260,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1261,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1263,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1264,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1266,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1267,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1269,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1270,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1272,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1273,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1275,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1276,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1278,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1279,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1281,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1282,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1284,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1285,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1287,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1288,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1291
    functionName: lua_ucl_parser_mt
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_newmetatable
    - lua_pushvalue
    - lua_setfield
    - lua_pushcfunction
    - lua_pop
    linkageType: ''
    returnType: void
    signature: void lua_ucl_parser_mt (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1296,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1298,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1299,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1301,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1302,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1304,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1305,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1307,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1308,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1310,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1311,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1313,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1314,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1316,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1317,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1319,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1320,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1323
    functionName: lua_ucl_object_mt
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_newmetatable
    - lua_pushvalue
    - lua_setfield
    - lua_pushstring
    - lua_pushcfunction
    - lua_pop
    linkageType: ''
    returnType: void
    signature: void lua_ucl_object_mt (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1328,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1330,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1331,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1333,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1334,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1336,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1337,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1339,1
    - Dst: luaL_newmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1341,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1343,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1344,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1346,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1347,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1349,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1350,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1352,1
    - Dst: luaL_newmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1354,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1356,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1357,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1359,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1360,1
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1362,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1363,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1366
    functionName: lua_ucl_types_mt
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_newmetatable
    - lua_setfield
    - lua_pushstring
    - lua_pushcfunction
    - lua_pop
    linkageType: ''
    returnType: void
    signature: void lua_ucl_types_mt (lua_State *L)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1374,1
    - Dst: lua_toboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1375,1
    - Dst: ucl_object_lua_import
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1380,1
    - Dst: lua_ucl_to_string
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1382,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1383,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1368
    functionDepth: 4
    functionLinenumber: 1368
    functionLinenumberEnd: 1390
    functionName: lua_ucl_to_json
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - lua_ucl_to_string
    - lua_gettop
    - ucl_object_lua_import
    - lua_pushnil
    - lua_toboolean
    linkageType: ''
    returnType: int
    signature: int lua_ucl_to_json (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lua_import
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1397,1
    - Dst: lua_ucl_to_string
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1399,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1400,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1392
    functionDepth: 4
    functionLinenumber: 1392
    functionLinenumberEnd: 1407
    functionName: lua_ucl_to_config
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - lua_pushnil
    - ucl_object_lua_import
    - lua_ucl_to_string
    linkageType: ''
    returnType: int
    signature: int lua_ucl_to_config (lua_State *L)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1450,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1451,1
    - Dst: lua_tonumber
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1452,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1454,1
    - Dst: lua_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1458,1
    - Dst: lua_tostring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1459,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1461,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1464,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1467,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1470,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1471,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1474,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1475,1
    - Dst: lua_isboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1480,1
    - Dst: lua_toboolean
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1481,1
    - Dst: ucl_object_lua_import
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1485,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1490,1
    - Dst: ucl_object_sort_keys
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1491,1
    - Dst: lua_ucl_to_string
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1495,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1496,1
    - Dst: lua_pushnil
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1499,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1443
    functionDepth: 4
    functionLinenumber: 1443
    functionLinenumberEnd: 1503
    functionName: lua_ucl_to_format
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_object_sort_keys
    - lua_isboolean
    - lua_ucl_to_string
    - lua_gettop
    - strcasecmp
    - ucl_object_lua_import
    - lua_type
    - ucl_object_type
    - lua_pushnil
    - lua_tostring
    - lua_toboolean
    - lua_tonumber
    linkageType: ''
    returnType: int
    signature: int lua_ucl_to_format (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1510
    functionName: lua_ucl_null_tostring
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: int lua_ucl_null_tostring (lua_State* L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_newmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1515,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1517,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1518,1
    - Dst: lua_pop
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1521
    functionName: lua_ucl_null_mt
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - luaL_newmetatable
    - lua_pushcfunction
    - lua_setfield
    - lua_pop
    linkageType: ''
    returnType: void
    signature: void lua_ucl_null_mt (lua_State *L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_ucl_parser_mt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1526,1
    - Dst: lua_ucl_null_mt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1527,1
    - Dst: lua_ucl_object_mt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1528,1
    - Dst: lua_ucl_types_mt
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1529,1
    - Dst: lua_createtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1532,1
    - Dst: lua_pushliteral
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1533,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1534,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1535,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1536,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1537,1
    - Dst: lua_newtable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1539,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1541,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1542,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1544,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1545,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1547,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1548,1
    - Dst: lua_pushcfunction
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1550,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1551,1
    - Dst: lua_newuserdata
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1553,1
    - Dst: luaL_getmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1554,1
    - Dst: lua_setmetatable
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1555,1
    - Dst: lua_pushvalue
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1557,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1558,1
    - Dst: lua_setfield
      Src: /src/rtpproxy/external/libucl/lua/lua_ucl.c:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1563
    functionName: luaopen_ucl
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached:
    - lua_ucl_object_mt
    - lua_createtable
    - lua_pushliteral
    - lua_ucl_null_mt
    - lua_setfield
    - lua_pushvalue
    - lua_pushcfunction
    - lua_newtable
    - lua_newuserdata
    - luaL_getmetatable
    - lua_setmetatable
    - lua_ucl_parser_mt
    - lua_ucl_types_mt
    linkageType: ''
    returnType: int
    signature: int luaopen_ucl (lua_State *L)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1573
    functionName: ucl_object_toclosure
    functionSourceFile: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ucl_lua_funcdata
    signature: 'struct ucl_lua_funcdata *

      ucl_object_toclosure (const ucl_object_t *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - amt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: utstring_reserve
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_reserve(s,amt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: utstring_init
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_init(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: utstring_done
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_done(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: utstring_free
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_free(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: utstring_new
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_new(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - amt
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: utstring_reserve_safe
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_reserve_safe(s, amt, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: utstring_init_safe
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_init_safe(s, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: utstring_new_safe
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_new_safe(s, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: utstring_renew
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_renew(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: utstring_clear
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_clear(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: utstring_bincpy
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_bincpy(s,b,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: utstring_concat
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_concat(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: utstring_len
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_len(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: utstring_body
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_body(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:155,1
    - Dst: vsnprintf
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:157,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:158,1
    - Dst: utstring_reserve
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:166,1
    - Dst: utstring_reserve
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - s
    - fmt
    - ap
    argTypes:
    - UT_string*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: utstring_printf_va
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached:
    - utstring_reserve
    - vsnprintf
    - va_end
    - va_copy
    linkageType: ''
    returnType: _UNUSED_
    signature: _UNUSED_ utstring_printf_va(UT_string *s, const char *fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:177,1
    - Dst: utstring_printf_va
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:178,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - UT_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: utstring_printf
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - utstring_printf_va
    linkageType: ''
    returnType: _UNUSED_
    signature: _UNUSED_ utstring_printf(UT_string *s, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: utstring_append_len
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_append_len(dst, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: utstring_append_c
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: utstring_append_c(dst, c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - P_Needle
    - P_NeedleLen
    - P_KMP_Table
    argTypes:
    - char*
    - ssize_t
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 237
    functionName: _utstring_BuildTable
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _UNUSED_
    signature: "_UNUSED_ _utstring_BuildTable(\n    const char *P_Needle, \n    ssize_t
      P_NeedleLen, \n    long *P_KMP_Table)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - P_Needle
    - P_NeedleLen
    - P_KMP_Table
    argTypes:
    - char*
    - ssize_t
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 277
    functionName: _utstring_BuildTableR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _UNUSED_
    signature: "_UNUSED_ _utstring_BuildTableR(\n    const char *P_Needle, \n    ssize_t
      P_NeedleLen, \n    long *P_KMP_Table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - P_Haystack
    - P_HaystackLen
    - P_Needle
    - P_NeedleLen
    - P_KMP_Table
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: _utstring_find
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _UNUSED_
    signature: "_UNUSED_ _utstring_find(\n    const char *P_Haystack, \n    size_t
      P_HaystackLen, \n    const char *P_Needle, \n    size_t P_NeedleLen, \n    long
      *P_KMP_Table)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - P_Haystack
    - P_HaystackLen
    - P_Needle
    - P_NeedleLen
    - P_KMP_Table
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 344
    functionName: _utstring_findR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _UNUSED_
    signature: "_UNUSED_ _utstring_findR(\n    const char *P_Haystack, \n    size_t
      P_HaystackLen, \n    const char *P_Needle, \n    size_t P_NeedleLen, \n    long
      *P_KMP_Table)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:370,1
    - Dst: _utstring_BuildTable
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:373,1
    - Dst: _utstring_find
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:375,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - s
    - P_StartPosition
    - P_Needle
    - P_NeedleLen
    argTypes:
    - UT_string*
    - long
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 390
    functionName: utstring_find
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 1
    functionsReached:
    - _utstring_find
    - malloc
    - _utstring_BuildTable
    - free
    linkageType: ''
    returnType: _UNUSED_
    signature: "_UNUSED_ utstring_find(\n    UT_string *s, \n    long P_StartPosition,
      \  /* Start from 0. -1 means last position. */\n    const char *P_Needle, \n
      \   ssize_t P_NeedleLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:416,1
    - Dst: _utstring_BuildTableR
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:419,1
    - Dst: _utstring_findR
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:421,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/uthash/utstring.h:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - s
    - P_StartPosition
    - P_Needle
    - P_NeedleLen
    argTypes:
    - UT_string*
    - long
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 432
    functionName: utstring_findR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utstring.h
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - _utstring_BuildTableR
    - _utstring_findR
    linkageType: ''
    returnType: _UNUSED_
    signature: "_UNUSED_ utstring_findR(\n    UT_string *s, \n    long P_StartPosition,
      \  /* Start from 0. -1 means last position. */\n    const char *P_Needle, \n
      \   ssize_t P_NeedleLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: DECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: DECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: uthash_fatal
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_fatal(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: uthash_malloc
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: uthash_free
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr,sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hhp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: ELMT_FROM_HH
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELMT_FROM_HH(tbl,hhp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: HASH_FIND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND(hh,head,keyptr,keylen,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: HASH_BLOOM_MAKE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_MAKE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: HASH_BLOOM_FREE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_FREE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: HASH_BLOOM_BITSET
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITSET(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: HASH_BLOOM_BITTEST
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITTEST(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: HASH_BLOOM_ADD
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_ADD(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: HASH_MAKE_TABLE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_TABLE(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: HASH_ADD
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD(hh,head,fieldname,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: HASH_REPLACE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 198
    functionName: HASH_ADD_KEYPTR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hashv
    - ','
    - num_bkts
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: HASH_TO_BKT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_TO_BKT( hashv, num_bkts, bkt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 250
    functionName: HASH_DELETE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE(hh,head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findstr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: HASH_FIND_STR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_STR(head,findstr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: HASH_ADD_STR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_STR(head,strfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: HASH_REPLACE_STR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_STR(head,strfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findint
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: HASH_FIND_INT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_INT(head,findint,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: HASH_ADD_INT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INT(head,intfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: HASH_REPLACE_INT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INT(head,intfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findptr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: HASH_FIND_PTR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_PTR(head,findptr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: HASH_ADD_PTR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_PTR(head,ptrfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: HASH_REPLACE_PTR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_PTR(head,ptrfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: HASH_DEL
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL(head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: HASH_OOPS
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OOPS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 310
    functionName: HASH_FSCK
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FSCK(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - fieldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: HASH_EMIT_KEY
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - num_bkts
    - ','
    - hashv
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: HASH_XX
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_XX(key,keylen,num_bkts,hashv,bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: HASH_KEYCMP
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_KEYCMP(a,b,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tbl
    - ','
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 381
    functionName: HASH_FIND_IN_BKT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - addhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 395
    functionName: HASH_ADD_TO_BKT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_BKT(head,addhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - hh_del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: HASH_DEL_IN_BKT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL_IN_BKT(hh,head,hh_del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 485
    functionName: HASH_EXPAND_BUCKETS
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EXPAND_BUCKETS(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: HASH_SORT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SORT(head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 577
    functionName: HASH_SRT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SRT(hh,head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh_dst
    - ','
    - dst
    - ','
    - hh_src
    - ','
    - src
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 620
    functionName: HASH_SELECT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SELECT(hh_dst, dst, hh_src, src, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 631
    functionName: HASH_CLEAR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CLEAR(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: HASH_OVERHEAD
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OVERHEAD(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: HASH_ITER
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: HASH_ITER
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: HASH_COUNT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_COUNT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: HASH_CNT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CNT(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: LDECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: LDECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: LDECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: IF_NO_DECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_NO_DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: LDECLTYPE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: UTLIST_SV
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_SV(elt,list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: UTLIST_NEXT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXT(elt,list,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: UTLIST_NEXTASGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXTASGN(elt,list,to,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: UTLIST_PREVASGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_PREVASGN(elt,list,to,prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: UTLIST_RS
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_RS(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: UTLIST_CASTASGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_CASTASGN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: UTLIST_NEXT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXT(elt,list,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: UTLIST_NEXTASGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXTASGN(elt,list,to,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: UTLIST_PREVASGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_PREVASGN(elt,list,to,prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: UTLIST_CASTASGN
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_CASTASGN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: LL_SORT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: LL_SORT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SORT2(list, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: DL_SORT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 236
    functionName: DL_SORT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_SORT2(list, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: CDL_SORT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 312
    functionName: CDL_SORT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SORT2(list, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: LL_PREPEND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: LL_PREPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND2(head,add,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: LL_CONCAT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT(head1,head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: LL_CONCAT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT2(head1,head2,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: LL_APPEND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: LL_APPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND2(head,add,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: LL_INSERT_INORDER
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER(head,add,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: LL_INSERT_INORDER2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER2(head,add,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: LL_LOWER_BOUND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_LOWER_BOUND(head,elt,like,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: LL_LOWER_BOUND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_LOWER_BOUND2(head,elt,like,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: LL_DELETE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE(head,del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: LL_DELETE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE2(head,del,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: LL_COUNT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_COUNT(head,el,counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: LL_COUNT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_COUNT2(head,el,counter,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: LL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH(head,el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: LL_FOREACH2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH2(head,el,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: LL_FOREACH_SAFE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH_SAFE(head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: LL_FOREACH_SAFE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH_SAFE2(head,el,tmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: LL_SEARCH_SCALAR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH_SCALAR(head,out,field,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: LL_SEARCH_SCALAR2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH_SCALAR2(head,out,field,val,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: LL_SEARCH
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH(head,out,elt,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: LL_SEARCH2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH2(head,out,elt,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: LL_REPLACE_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: LL_REPLACE_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 493
    functionName: LL_PREPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: LL_PREPEND_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: LL_APPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: LL_APPEND_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: LL_CONCAT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT2(head1,head2,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: LL_APPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND2(head,add,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: LL_INSERT_INORDER2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER2(head,add,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: LL_DELETE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE2(head,del,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 594
    functionName: LL_REPLACE_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 618
    functionName: LL_PREPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: DL_PREPEND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: DL_PREPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionName: DL_APPEND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: DL_APPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: DL_INSERT_INORDER
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER(head,add,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 670
    functionName: DL_INSERT_INORDER2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: DL_LOWER_BOUND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LOWER_BOUND(head,elt,like,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: DL_LOWER_BOUND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LOWER_BOUND2(head,elt,like,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: DL_CONCAT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_CONCAT(head1,head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: DL_CONCAT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_CONCAT2(head1,head2,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: DL_DELETE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_DELETE(head,del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 727
    functionName: DL_DELETE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_DELETE2(head,del,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: DL_COUNT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_COUNT(head,el,counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: DL_COUNT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_COUNT2(head,el,counter,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: DL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH(head,el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: DL_FOREACH2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH2(head,el,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH_SAFE(head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 749
    functionName: DL_FOREACH_SAFE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH_SAFE2(head,el,tmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 781
    functionName: DL_REPLACE_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_REPLACE_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: DL_REPLACE_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 803
    functionName: DL_PREPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: DL_PREPEND_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 824
    functionName: DL_APPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: DL_APPEND_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 858
    functionName: DL_INSERT_INORDER2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 865
    functionName: CDL_APPEND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 879
    functionName: CDL_APPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: CDL_PREPEND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 896
    functionName: CDL_PREPEND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: CDL_INSERT_INORDER
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER(head,add,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 912
    functionName: CDL_INSERT_INORDER2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 915
    functionName: CDL_LOWER_BOUND
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_LOWER_BOUND(head,elt,like,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 928
    functionName: CDL_LOWER_BOUND2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_LOWER_BOUND2(head,elt,like,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 931
    functionName: CDL_DELETE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_DELETE(head,del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: CDL_DELETE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_DELETE2(head,del,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: CDL_COUNT
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_COUNT(head,el,counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: CDL_COUNT2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_COUNT2(head, el, counter,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    functionName: CDL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH(head,el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: CDL_FOREACH2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH2(head,el,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp1
    - ','
    - tmp2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 960
    functionName: CDL_FOREACH_SAFE
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH_SAFE(head,el,tmp1,tmp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp1
    - ','
    - tmp2
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: CDL_FOREACH_SAFE2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionName: CDL_SEARCH_SCALAR
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH_SCALAR(head,out,field,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: CDL_SEARCH_SCALAR2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH_SCALAR2(head,out,field,val,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: CDL_SEARCH
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH(head,out,elt,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: CDL_SEARCH2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH2(head,out,elt,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1005
    functionName: CDL_REPLACE_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_REPLACE_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: CDL_REPLACE_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1025
    functionName: CDL_PREPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: CDL_PREPEND_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: CDL_APPEND_ELEM2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1045
    functionName: CDL_APPEND_ELEM
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1074
    functionName: CDL_INSERT_INORDER2
    functionSourceFile: /src/rtpproxy/external/libucl/uthash/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:43,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:55,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:57,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:71,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:73,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:80,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:83,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:84,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:85,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:86,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:87,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:88,1
    - Dst: ucl_object_emit_file_funcs
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:90,1
    - Dst: ucl_object_emit_streamline_new
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:93,1
    - Dst: ucl_object_emit_streamline_new
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:97,1
    - Dst: ucl_object_emit_streamline_new
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:100,1
    - Dst: ucl_object_emit_streamline_new
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:104,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:107,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:110,1
    - Dst: ucl_object_emit_streamline_start_container
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:114,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:115,1
    - Dst: ucl_object_emit_streamline_add_object
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:116,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:117,1
    - Dst: ucl_object_emit_streamline_add_object
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:118,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:119,1
    - Dst: ucl_object_emit_streamline_add_object
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:120,1
    - Dst: ucl_object_emit_streamline_end_container
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:123,1
    - Dst: ucl_object_emit_streamline_finish
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:124,1
    - Dst: ucl_object_emit_funcs_free
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:125,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:126,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/tests/test_streamline.c:128,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (ctx != NULL)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/rtpproxy/external/libucl/tests/test_streamline.c
    constantsTouched: []
    func_position:
      end: 131
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_streamline.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - ucl_object_emit_streamline_new
    - getopt
    - assert
    - ucl_object_emit_streamline_finish
    - ucl_object_fromint
    - ucl_object_fromstring_common
    - fprintf
    - ucl_object_fromdouble
    - exit
    - fopen
    - fclose
    - ucl_object_emit_streamline_start_container
    - ucl_object_emit_streamline_end_container
    - ucl_object_insert_key
    - ucl_object_typed_new
    - ucl_object_emit_streamline_add_object
    - ucl_object_emit_funcs_free
    - ucl_object_emit_file_funcs
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:46,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:70,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:72,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:91,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:93,1
    - Dst: open
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:102,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:104,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:122,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:123,1
    - Dst: ucl_parser_set_filevars
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:126,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:130,1
    - Dst: feof
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:134,1
    - Dst: ferror
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:134,1
    - Dst: realloc
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:136,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:139,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:140,1
    - Dst: fread
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:143,1
    - Dst: ferror
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:146,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:147,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:148,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:151,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:154,1
    - Dst: ucl_parser_add_fd
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:157,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:158,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:163,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:165,1
    - Dst: open
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:174,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:176,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:185,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:186,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:187,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:192,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:195,1
    - Dst: ucl_parser_get_comments
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:195,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:200,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:203,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:207,1
    - Dst: ucl_object_emit_memory_funcs
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:211,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:214,1
    - Dst: ucl_object_emit_funcs_free
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:215,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:220,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:223,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:224,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:225,1
    - Dst: ucl_parser_add_string
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:226,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:228,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:229,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:230,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:231,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:237,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:240,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:245,1
    - Dst: ucl_parser_get_comments
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:245,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:248,1
    - Dst: ucl_object_emit_file_funcs
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:251,1
    - Dst: ucl_object_emit_fd_funcs
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:254,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:260,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:264,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:269,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:273,1
    - Dst: ucl_object_emit_funcs_free
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:277,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:281,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:282,1
    - Dst: write
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:285,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:286,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:289,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:293,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:296,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_basic.c:299,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 205
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_basic.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - getopt
    - ucl_parser_register_variable
    - realloc
    - ucl_object_ref
    - ferror
    - ucl_object_emit_fd_funcs
    - fprintf
    - ucl_object_emit
    - close
    - ucl_parser_get_error
    - open
    - ucl_parser_set_filevars
    - exit
    - perror
    - fopen
    - free
    - ucl_parser_add_chunk_full
    - ucl_parser_free
    - fclose
    - ucl_parser_add_string
    - ucl_parser_get_object
    - write
    - malloc
    - ucl_parser_new
    - ucl_parser_get_comments
    - ucl_object_emit_memory_funcs
    - ucl_object_emit_funcs_free
    - fread
    - ucl_parser_add_fd
    - ucl_object_emit_file_funcs
    - ucl_object_emit_full
    - feof
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_absolute_time
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:48,1
    - Dst: clock_gettime
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: get_ticks
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_speed.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - mach_absolute_time
    linkageType: ''
    returnType: double
    signature: double get_ticks (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:78,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:80,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:81,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:83,1
    - Dst: fstat
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:85,1
    - Dst: mmap
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:86,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:88,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:89,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:92,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:94,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:95,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:97,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:98,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:101,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:102,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:103,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:103,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:108,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:109,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:110,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:113,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:115,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:117,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:118,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:119,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:122,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:124,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:126,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:127,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:128,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:131,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:133,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:135,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:136,1
    - Dst: get_ticks
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:137,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:140,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:142,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:144,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:145,1
    - Dst: munmap
      Src: /src/rtpproxy/external/libucl/tests/test_speed.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 151
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_speed.c
    functionUses: 2
    functionsReached:
    - free
    - ucl_parser_get_object
    - ucl_object_unref
    - mmap
    - ucl_parser_free
    - get_ticks
    - ucl_object_emit
    - close
    - ucl_parser_get_error
    - open
    - ucl_parser_new
    - printf
    - munmap
    - ucl_parser_add_chunk
    - exit
    - perror
    - fstat
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: pcg32_random
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pcg32_random (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:87,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:91,1
    - Dst: isgraph
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - lenptr
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: random_key
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - isgraph
    - pcg32_random
    linkageType: ''
    returnType: char
    signature: 'char *

      random_key (size_t *lenptr)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:121,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:122,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:123,1
    - Dst: read
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:123,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:124,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:128,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:130,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:138,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:141,1
    - Dst: random_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:143,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:146,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:147,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:149,1
    - Dst: random_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:152,1
    - Dst: ucl_test_large_array
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:153,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:154,1
    - Dst: random_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:156,1
    - Dst: ucl_test_large_map
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:157,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:158,1
    - Dst: random_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:160,1
    - Dst: ucl_test_large_string
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:161,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:162,1
    - Dst: ucl_object_emit_len
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:164,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:166,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:169,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:171,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:173,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:175,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:177,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:179,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:180,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:181,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:184,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:185,1
    - Dst: ucl_object_emit_len
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:187,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:189,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:190,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:191,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:191,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:193,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:194,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:195,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (elt != NULL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (emitted2 != NULL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (read (fd, &rng, sizeof (rng)) == sizeof (rng))
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (klen != 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (memcmp (emitted, emitted2, elen) == 0)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (fd != -1)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (elen2 == elen)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (emitted != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (obj != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    constantsTouched: []
    func_position:
      end: 200
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - ucl_object_emit_len
    - assert
    - ucl_test_large_string
    - pcg32_random
    - fprintf
    - close
    - ucl_parser_get_error
    - open
    - exit
    - fopen
    - free
    - ucl_parser_add_chunk_full
    - ucl_parser_free
    - ucl_test_large_map
    - fclose
    - ucl_test_large_array
    - ucl_parser_get_object
    - ucl_object_insert_key
    - ucl_object_typed_new
    - ucl_parser_new
    - read
    - memcmp
    - random_key
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:211,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:212,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:215,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:215,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:216,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:216,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:217,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:217,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:218,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:218,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:219,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:219,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:220,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:220,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:221,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:221,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:222,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:222,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:223,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:223,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:224,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:224,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:225,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:225,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:226,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:226,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:228,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:228,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:230,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:230,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:231,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:231,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:233,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:233,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:234,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:234,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:236,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:236,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:237,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:237,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:238,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:238,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:240,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:240,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:241,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:241,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:242,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:243,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 247
    functionName: ucl_test_integer
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ucl_object_fromdouble
    - ucl_object_fromint
    - ucl_object_typed_new
    - ucl_array_append
    - pcg32_random
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_integer (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:257,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:258,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:261,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:263,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:264,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:264,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:266,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:268,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:269,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:270,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:270,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:272,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:274,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:275,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:276,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:279,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:280,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:282,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:283,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:284,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:287,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:288,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:292,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:293,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:296,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 300
    functionName: ucl_test_string
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - ucl_object_typed_new
    - ucl_array_append
    - ucl_object_fromstring_common
    - pcg32_random
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_string (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:308,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:309,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:312,1
    - Dst: ucl_object_frombool
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:312,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: ucl_test_boolean
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_array_append
    - ucl_object_frombool
    - pcg32_random
    - ucl_object_typed_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_boolean (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:327,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:328,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:336,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:344,1
    - Dst: random_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:347,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:349,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:350,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:352,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:356,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cur != NULL)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (klen != 0)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (cur != NULL)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    constantsTouched: []
    func_position:
      end: 362
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 362
    functionName: ucl_test_map
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_object_insert_key
    - ucl_object_typed_new
    - assert
    - pcg32_random
    - random_key
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_map (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:373,1
    - Dst: random_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:379,1
    - Dst: ucl_test_boolean
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:380,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:381,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:382,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cur != NULL)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    - condition: (klen != 0)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: ucl_test_large_map
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 1
    functionsReached:
    - ucl_test_boolean
    - ucl_object_insert_key
    - ucl_object_typed_new
    - assert
    - random_key
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_large_map (void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:397,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:398,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:405,1
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:413,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:417,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cur != NULL)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    constantsTouched: []
    func_position:
      end: 423
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 423
    functionName: ucl_test_array
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_array_append
    - assert
    - pcg32_random
    - ucl_object_typed_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_array (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:432,1
    - Dst: ucl_test_boolean
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:438,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:439,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cur != NULL)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    constantsTouched: []
    func_position:
      end: 445
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 445
    functionName: ucl_test_large_array
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 1
    functionsReached:
    - ucl_array_append
    - ucl_test_boolean
    - assert
    - ucl_object_typed_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_large_array (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcg32_random
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:454,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:455,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:456,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 462
    functionName: ucl_test_large_string
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 1
    functionsReached:
    - free
    - ucl_object_fromstring_common
    - malloc
    - pcg32_random
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_large_string (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_msgpack.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: ucl_test_null
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_object_typed_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_test_null (void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:35,1
    - Dst: read
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:43,1
    - Dst: realloc
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 62
    functionName: read_stdin
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_schema.c
    functionUses: 0
    functionsReached:
    - realloc
    - malloc
    - read
    linkageType: ''
    returnType: int
    signature: int read_stdin (char **buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:71,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:72,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:73,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:76,1
    - Dst: ucl_object_validate
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:80,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:81,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:82,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:83,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:84,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:86,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:86,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:87,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - schema
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: perform_test
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_schema.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ucl_object_emit
    - ucl_object_toboolean
    - ucl_object_validate
    - ucl_object_tostring
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool perform_test (const ucl_object_t *schema, const ucl_object_t
      *obj,\n\t\tstruct ucl_schema_error *err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:102,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:106,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:107,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:108,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:111,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:115,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:117,1
    - Dst: perform_test
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:118,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:119,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: perform_tests
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_schema.c
    functionUses: 0
    functionsReached:
    - perform_test
    - ucl_object_iterate
    - fprintf
    - ucl_object_tostring
    - memset
    - ucl_object_lookup
    linkageType: ''
    returnType: int
    signature: int perform_tests (const ucl_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_stdin
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:138,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:139,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:142,1
    - Dst: ucl_parser_add_string
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:144,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:146,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:147,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:147,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:151,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:152,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:154,1
    - Dst: perform_tests
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:155,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_schema.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_schema.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - ucl_parser_get_object
    - fprintf
    - ucl_parser_free
    - ucl_object_iterate
    - ucl_parser_get_error
    - perform_tests
    - ucl_parser_new
    - read_stdin
    - ucl_parser_add_string
    - exit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts:
    - condition: (ptr == NULL)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ud_dtor
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_generate.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ud_dtor (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: ud_emit
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_generate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ud_emit (void *ptr)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:62,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:64,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:71,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:74,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:75,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:76,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:77,1
    - Dst: ucl_object_replace_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:77,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:80,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:81,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:82,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:84,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:85,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:86,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:88,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:89,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:90,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:91,1
    - Dst: ucl_array_index_of
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:91,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:92,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:93,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:94,1
    - Dst: ucl_array_index_of
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:94,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:95,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:96,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:97,1
    - Dst: ucl_array_index_of
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:97,1
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:99,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:100,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:101,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:102,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:103,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:104,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:105,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:106,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:107,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:115,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:116,1
    - Dst: ucl_object_array_sort
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:118,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:121,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:122,1
    - Dst: ucl_array_delete
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:123,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:124,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:124,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:125,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:126,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:127,1
    - Dst: ucl_array_pop_last
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:128,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:129,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:129,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:130,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:131,1
    - Dst: ucl_array_prepend
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:132,1
    - Dst: ucl_array_pop_first
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:133,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:134,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:134,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:135,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:137,1
    - Dst: ucl_object_frombool
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:138,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:140,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:141,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:143,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:144,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:145,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:146,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:147,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:148,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:150,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:151,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:152,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:153,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:154,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:155,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:156,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:157,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:158,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:159,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:160,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:161,1
    - Dst: ucl_object_frombool
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:162,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:163,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:164,1
    - Dst: ucl_object_new_userdata
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:165,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:166,1
    - Dst: ucl_object_fromlstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:169,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:170,1
    - Dst: ucl_object_lookup_any
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:171,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:172,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:173,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:174,1
    - Dst: ucl_object_pop_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:175,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:176,1
    - Dst: ucl_object_pop_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:177,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:178,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:179,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:180,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:182,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:183,1
    - Dst: ucl_object_merge
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:184,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:185,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:187,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:188,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:188,1
    - Dst: ucl_array_merge
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:189,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:190,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:192,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:193,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:194,1
    - Dst: ucl_object_delete_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:194,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:195,1
    - Dst: ucl_object_delete_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:195,1
    - Dst: ucl_object_fromlstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:196,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:197,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:198,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:198,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:199,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:199,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:200,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:200,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:201,1
    - Dst: ucl_object_delete_keyl
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:201,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:205,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:206,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:207,1
    - Dst: ucl_comments_add
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:208,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:209,1
    - Dst: ucl_comments_find
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:209,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:210,1
    - Dst: ucl_comments_find
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:210,1
    - Dst: ucl_comments_move
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:211,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:212,1
    - Dst: ucl_comments_find
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:212,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:213,1
    - Dst: ucl_comments_find
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:213,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:216,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:217,1
    - Dst: ucl_elt_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:218,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:218,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:219,1
    - Dst: ucl_array_replace_index
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:220,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:220,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:221,1
    - Dst: ucl_object_lookup_path
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:225,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:226,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:226,1
    - Dst: ucl_object_lookup_path
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:228,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:229,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:229,1
    - Dst: ucl_object_lookup_path
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:231,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:232,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:232,1
    - Dst: ucl_object_lookup_path
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:234,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:235,1
    - Dst: ucl_object_lookup_path
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:237,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:238,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:241,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:242,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:243,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:243,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:245,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:245,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:246,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:247,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:247,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:249,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:249,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:250,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:251,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:251,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:253,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:253,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:254,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:255,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:255,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:257,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:257,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:258,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:259,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:259,1
    - Dst: ucl_object_iterate_reset
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:261,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:262,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:263,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:263,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:264,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:264,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:265,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:266,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:266,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:267,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:267,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:268,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:269,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:269,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:270,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:270,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:271,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:272,1
    - Dst: ucl_object_iter_chk_excpn
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:272,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:273,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:273,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:274,1
    - Dst: ucl_object_emit_memory_funcs
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:276,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:277,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:277,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:278,1
    - Dst: ucl_object_emit_funcs_free
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:279,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:280,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:281,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:283,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:285,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:285,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:288,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:291,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:291,1
    - Dst: ucl_parser_clear_error
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:292,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:293,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:294,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:295,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:295,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:299,1
    - Dst: ucl_parser_get_column
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:299,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:300,1
    - Dst: ucl_parser_get_linenum
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:300,1
    - Dst: ucl_parser_clear_error
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:301,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:302,1
    - Dst: ucl_parser_get_error_code
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:302,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:303,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:304,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:305,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:308,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:310,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/tests/test_generate.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 203
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (ucl_array_index_of (ar, cur) == 1)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_parser_get_column (parser) == 0)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_todouble (cur) == 1.0)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_delete_key (obj, "key18"))
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_comments_find (comments, found) != NULL)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (found == NULL)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_STRING)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (test == cur)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (found == NULL)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_STRING)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_array_index_of (ar, cur) == 0)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_comments_find (comments, test) == NULL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_delete_keyl (obj, "key18\0\0", 7))
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_FLOAT)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_todouble (cur) == 2.0)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (test == NULL)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (0)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (test == cur)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_BOOLEAN)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_comments_find (comments, test) != NULL)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_lookup_len (obj, "key18\0\0", 7) == cur)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_lookup (obj, "key18") == NULL)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_array_index_of (ar, cur) == 0)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_lookup_len (obj, "key18\0\1", 7) == NULL)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_FLOAT)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_comments_find (comments, found) == NULL)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_parser_get_linenum (parser) != 0)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_todouble (cur) == 3.0)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (found != NULL && ucl_object_toint (found) == 10)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_delete_key (obj, "key18"))
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (found != NULL && ucl_object_toint (found) == 10)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_parser_get_error_code (parser) == 0)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_parser_get_error (parser) != NULL)
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (found != NULL && ucl_object_toint (found) == 10)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_STRING)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_INT)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_emit_full (obj, UCL_EMIT_CONFIG, fn, comments))
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (test == cur)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_replace_key (obj, cur, "key0", 0, false))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (test == cur)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (test == NULL)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (ucl_object_type (it_obj) == UCL_FLOAT)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    - condition: (!ucl_object_iter_chk_excpn (it))
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
    constantsTouched: []
    func_position:
      end: 317
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 317
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/tests/test_generate.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - strlen
    - ucl_object_iter_chk_excpn
    - assert
    - ucl_object_ref
    - ucl_object_copy
    - ucl_array_append
    - ucl_parser_clear_error
    - ucl_comments_find
    - ucl_object_iterate_safe
    - ucl_object_fromint
    - ucl_array_pop_first
    - ucl_object_new_full
    - ucl_object_iterate_new
    - fprintf
    - ucl_comments_move
    - ucl_parser_get_error
    - ucl_object_frombool
    - ucl_object_delete_keyl
    - ucl_object_pop_key
    - ucl_object_fromdouble
    - ucl_array_replace_index
    - ucl_object_lookup_len
    - ucl_parser_get_linenum
    - ucl_object_new_userdata
    - ucl_array_merge
    - ucl_object_iterate_free
    - exit
    - fopen
    - free
    - ucl_parser_add_chunk_full
    - ucl_parser_free
    - ucl_elt_append
    - ucl_comments_add
    - ucl_parser_get_error_code
    - ucl_object_replace_key
    - ucl_array_delete
    - ucl_object_type
    - ucl_array_index_of
    - ucl_parser_get_column
    - ucl_object_iterate_reset
    - fclose
    - ucl_object_delete_key
    - ucl_object_lookup_path
    - ucl_parser_get_object
    - ucl_object_lookup_any
    - ucl_object_fromstring
    - ucl_object_todouble
    - ucl_object_merge
    - ucl_object_fromlstring
    - ucl_object_insert_key
    - ucl_object_typed_new
    - ucl_parser_new
    - ucl_array_prepend
    - ucl_object_array_sort
    - ucl_object_emit_memory_funcs
    - ucl_object_emit_funcs_free
    - ucl_object_fromstring_common
    - ucl_object_emit_full
    - ucl_object_toint
    - ucl_object_lookup
    - ucl_array_pop_last
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_add_string_fuzzer.c:15,1
    - Dst: ucl_parser_add_string
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_add_string_fuzzer.c:17,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_add_string_fuzzer.c:19,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_add_string_fuzzer.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 25
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_add_string_fuzzer.c
    functionUses: 1
    functionsReached:
    - ucl_parser_free
    - ucl_parser_get_error
    - ucl_parser_add_string
    - ucl_parser_new
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c:19,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c:22,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c:25,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 29
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c
    functionUses: 1
    functionsReached:
    - ucl_parser_add_chunk_full
    - ucl_parser_new
    - ucl_parser_free
    - ucl_object_new_full
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ar
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: UCL_ARRAY_GET
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_ARRAY_GET(ar, obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileMapping
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:107,1
    - Dst: _get_osfhandle
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:107,1
    - Dst: MapViewOfFile
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:109,1
    - Dst: CloseHandle
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:110,1
    - Dst: CreateFileMapping
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:115,1
    - Dst: _get_osfhandle
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:115,1
    - Dst: MapViewOfFile
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:117,1
    - Dst: CloseHandle
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:118,1
    - Dst: CreateFileMapping
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:123,1
    - Dst: _get_osfhandle
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:123,1
    - Dst: MapViewOfFile
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:125,1
    - Dst: CloseHandle
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - addr
    - length
    - prot
    - access
    - fd
    - offset
    argTypes:
    - char*
    - size_t
    - int
    - int
    - int
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 134
    functionName: ucl_mmap
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - _get_osfhandle
    - MapViewOfFile
    - CreateFileMapping
    linkageType: ''
    returnType: void
    signature: void *ucl_mmap(char *addr, size_t length, int prot, int access, int
      fd, off_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnmapViewOfFile
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - map
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: ucl_munmap
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - UnmapViewOfFile
    linkageType: ''
    returnType: int
    signature: int ucl_munmap(void *map,size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:148,1
    - Dst: _fullpath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - path
    - resolved_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: ucl_realpath
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - _fullpath
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * ucl_realpath(const char *path, char *resolved_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _splitpath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:166,1
    - Dst: _makepath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: dirname
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - _splitpath
    - _makepath
    linkageType: ''
    returnType: char
    signature: char *dirname(char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _splitpath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:180,1
    - Dst: _makepath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: basename
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - _splitpath
    - _makepath
    linkageType: ''
    returnType: char
    signature: char *basename(char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:200,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:203,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:208,1
    - Dst: struct ucl_object_userdata*::dtor
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:213,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: ucl_object_dtor_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - UCL_FREE
    - struct ucl_object_userdata*::dtor
    linkageType: ''
    returnType: void
    signature: void ucl_object_dtor_free (ucl_object_t *obj)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:230,1
    - Dst: ucl_object_free_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:235,1
    - Dst: ucl_object_dtor_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:244,1
    - Dst: ucl_object_dtor_unref_single
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:248,1
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:259,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:264,1
    - Dst: dtor
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:269,1
    - Dst: kv_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:274,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:275,1
    - Dst: ucl_hash_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:281,1
    - Dst: dtor
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:286,1
    - Dst: ucl_object_free_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:298,1
    - Dst: isdigit
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:357,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 148
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 432
    functionName: ucl_object_dtor_unref_single
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_dtor_free
    - kv_A
    - UCL_FREE
    - isdigit
    - dtor
    - UCL_ARRAY_GET
    - ucl_object_dtor_unref_single
    - __sync_sub_and_fetch
    - kv_destroy
    - ucl_hash_destroy
    - ucl_object_free_internal
    linkageType: ''
    returnType: void
    signature: void ucl_object_dtor_unref_single (ucl_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_dtor_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:244,1
    - Dst: ucl_object_dtor_unref_single
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: ucl_object_dtor_unref
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_dtor_free
    - ucl_object_dtor_unref_single
    linkageType: ''
    returnType: void
    signature: void ucl_object_dtor_unref (ucl_object_t *obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:259,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:264,1
    - Dst: dtor
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:269,1
    - Dst: kv_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:274,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:275,1
    - Dst: ucl_hash_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:281,1
    - Dst: dtor
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - obj
    - allow_rec
    - dtor
    argTypes:
    - ucl_object_t*
    - bool
    - ucl_object_dtor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 293
    functionName: ucl_object_free_internal
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - UCL_FREE
    - kv_A
    - dtor
    - UCL_ARRAY_GET
    - kv_destroy
    - ucl_hash_destroy
    linkageType: ''
    returnType: void
    signature: void ucl_object_free_internal (ucl_object_t *obj, bool allow_rec, ucl_object_dtor
      dtor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_free_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: ucl_object_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_free_internal
    linkageType: ''
    returnType: void
    signature: void ucl_object_free (ucl_object_t *obj)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:357,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 420
    functionName: ucl_unescape_json_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: size_t
    signature: size_t ucl_unescape_json_string (char *str, size_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 495
    functionName: ucl_unescape_squoted_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ucl_unescape_squoted_string (char *str, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:506,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:507,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 517
    functionName: ucl_copy_key_trash
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - malloc
    - __DECONST
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_copy_key_trash (const ucl_object_t *obj)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:525,1
    - Dst: struct ucl_parser_special_handler_chain*::special_handler::free_function
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:527,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:532,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:535,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:541,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct ucl_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 546
    functionName: ucl_chunk_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - free
    - LL_FOREACH_SAFE
    - UCL_FREE
    - struct ucl_parser_special_handler_chain*::special_handler::free_function
    linkageType: ''
    returnType: void
    signature: void ucl_chunk_free (struct ucl_chunk *chunk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:557,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:562,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:564,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:571,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:573,1
    - Dst: ucl_object_emit_single_json
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:583,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 590
    functionName: ucl_copy_value_trash
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - __DECONST
    - malloc
    - memcpy
    - ucl_object_emit_single_json
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_copy_value_trash (const ucl_object_t *obj)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 600
    functionName: ucl_parser_get_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 10
    functionsReached:
    - ucl_object_ref
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_parser_get_object (struct ucl_parser *parser)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:617,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:621,1
    - Dst: LL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:624,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:625,1
    - Dst: HASH_ITER
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:627,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:628,1
    - Dst: HASH_DEL
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:629,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:630,1
    - Dst: LL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:632,1
    - Dst: ucl_chunk_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:633,1
    - Dst: LL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:635,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:636,1
    - Dst: LL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:638,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:639,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:640,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:641,1
    - Dst: LL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:643,1
    - Dst: ucl_object_free_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:644,1
    - Dst: utstring_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:648,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:652,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:656,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 660
    functionName: ucl_parser_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 11
    functionsReached:
    - ucl_object_unref
    - free
    - UCL_FREE
    - ucl_chunk_free
    - HASH_DEL
    - LL_FOREACH_SAFE
    - HASH_ITER
    - ucl_object_free_internal
    - utstring_free
    linkageType: ''
    returnType: void
    signature: void ucl_parser_free (struct ucl_parser *parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utstring_body
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 674
    functionName: ucl_parser_get_error
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 12
    functionsReached:
    - utstring_body
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_parser_get_error(struct ucl_parser *parser)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: ucl_parser_get_error_code
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ucl_parser_get_error_code(struct ucl_parser *parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: ucl_parser_get_column
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ucl_parser_get_column(struct ucl_parser *parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 704
    functionName: ucl_parser_get_linenum
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned ucl_parser_get_linenum(struct ucl_parser *parser)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utstring_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 714
    functionName: ucl_parser_clear_error
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - utstring_free
    linkageType: ''
    returnType: void
    signature: void ucl_parser_clear_error(struct ucl_parser *parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:720,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:724,1
    - Dst: BIO_new_mem_buf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:730,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:731,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:733,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:736,1
    - Dst: BIO_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:737,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:739,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:740,1
    - Dst: ERR_error_string
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:741,1
    - Dst: ERR_get_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:741,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - key
    - len
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 748
    functionName: ucl_pubkey_add
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - UCL_FREE
    - ERR_error_string
    - ucl_create_err
    - UCL_ALLOC
    - PEM_read_bio_PUBKEY
    - ERR_get_error
    - LL_PREPEND
    - BIO_new_mem_buf
    linkageType: ''
    returnType: bool
    signature: bool ucl_pubkey_add (struct ucl_parser *parser, const unsigned char
      *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parser
    - handler
    argTypes:
    - struct ucl_parser*
    - struct ucl_parser_special_handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: ucl_parser_add_special_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - LL_APPEND
    linkageType: ''
    returnType: void
    signature: "void ucl_parser_add_special_handler (struct ucl_parser *parser,\n\t\tstruct
      ucl_parser_special_handler *handler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:768,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - contents
    - size
    - nmemb
    - ud
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 778
    functionName: ucl_curl_write_callback
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ucl_curl_write_callback (void* contents, size_t size, size_t
      nmemb, void* ud)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fetchParseURL
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:799,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:801,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:802,1
    - Dst: fetchXGet
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:805,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:807,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:808,1
    - Dst: fetchFreeURL
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:810,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:815,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:817,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:818,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:819,1
    - Dst: fetchFreeURL
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:820,1
    - Dst: fread
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:824,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:825,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:826,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:827,1
    - Dst: fetchFreeURL
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:828,1
    - Dst: fetchFreeURL
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:832,1
    - Dst: curl_easy_init
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:839,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:841,1
    - Dst: curl_easy_setopt
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:844,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:845,1
    - Dst: curl_easy_strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:846,1
    - Dst: curl_easy_cleanup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:847,1
    - Dst: curl_easy_setopt
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:850,1
    - Dst: curl_easy_setopt
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:853,1
    - Dst: curl_easy_perform
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:855,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:857,1
    - Dst: curl_easy_strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:858,1
    - Dst: curl_easy_cleanup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:860,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:862,1
    - Dst: curl_easy_cleanup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:869,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 5
    argNames:
    - url
    - buf
    - buflen
    - err
    - must_exist
    argTypes:
    - unsigned char*
    - unsigned char**
    - size_t*
    - UT_string**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 876
    functionName: ucl_fetch_url
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - free
    - curl_easy_init
    - curl_easy_perform
    - curl_easy_strerror
    - strerror
    - malloc
    - curl_easy_cleanup
    - ucl_create_err
    - fclose
    - curl_easy_setopt
    - fread
    - fetchParseURL
    - fetchXGet
    - fetchFreeURL
    linkageType: ''
    returnType: bool
    signature: "bool ucl_fetch_url (const unsigned char *url, unsigned char **buf,
      size_t *buflen,\n\t\tUT_string **err, bool must_exist)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:892,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:893,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:894,1
    - Dst: fstat
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:898,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:900,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:901,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:903,1
    - Dst: S_ISREG
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:907,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:909,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:911,1
    - Dst: ucl_mmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:922,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:923,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:924,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:925,1
    - Dst: close
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:933,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - filename
    - buf
    - buflen
    - err
    - must_exist
    argTypes:
    - unsigned char*
    - unsigned char**
    - size_t*
    - UT_string**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 936
    functionName: ucl_fetch_file
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_mmap
    - close
    - strerror
    - open
    - S_ISREG
    - ucl_create_err
    - fstat
    linkageType: ''
    returnType: bool
    signature: "bool ucl_fetch_file (const unsigned char *filename, unsigned char
      **buf, size_t *buflen,\n\t\tUT_string **err, bool must_exist)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:950,1
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:952,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:953,1
    - Dst: EVP_PKEY_verify_init
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:955,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:956,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:959,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:960,1
    - Dst: EVP_PKEY_CTX_set_signature_md
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:963,1
    - Dst: EVP_sha256
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:963,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:964,1
    - Dst: EVP_DigestInit
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:967,1
    - Dst: EVP_sha256
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:967,1
    - Dst: EVP_DigestUpdate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:968,1
    - Dst: EVP_DigestFinal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:969,1
    - Dst: EVP_PKEY_verify
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:971,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:972,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:973,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:977,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - data
    - datalen
    - sig
    - siglen
    - parser
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 984
    functionName: ucl_sig_check
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_new
    - EVP_DigestUpdate
    - EVP_PKEY_verify
    - EVP_PKEY_CTX_set_signature_md
    - EVP_PKEY_CTX_free
    - EVP_MD_CTX_create
    - EVP_PKEY_CTX_set_rsa_padding
    - LL_FOREACH
    - EVP_PKEY_verify_init
    - EVP_DigestFinal
    - EVP_MD_CTX_destroy
    - EVP_sha256
    - EVP_DigestInit
    linkageType: ''
    returnType: bool
    signature: "bool ucl_sig_check (const unsigned char *data, size_t datalen,\n\t\tconst
      unsigned char *sig, size_t siglen, struct ucl_parser *parser)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1022,1
    - Dst: ucl_fetch_url
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1024,1
    - Dst: ucl_parser_clear_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1026,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1036,1
    - Dst: ucl_fetch_url
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1037,1
    - Dst: ucl_sig_check
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1040,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1041,1
    - Dst: ERR_error_string
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1043,1
    - Dst: ERR_get_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1043,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1045,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1050,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1058,1
    - Dst: ucl_chunk_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1065,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1070,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - data
    - len
    - parser
    - params
    argTypes:
    - unsigned char*
    - size_t
    - struct ucl_parser*
    - struct ucl_include_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1073
    functionName: ucl_include_url
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - free
    - ucl_fetch_url
    - ucl_parser_add_chunk_full
    - ucl_munmap
    - ucl_sig_check
    - ucl_chunk_free
    - ERR_error_string
    - ucl_create_err
    - snprintf
    - ERR_get_error
    - ucl_parser_clear_error
    linkageType: ''
    returnType: bool
    signature: "bool ucl_include_url (const unsigned char *data, size_t len,\n\t\tstruct
      ucl_parser *parser,\n\t\tstruct ucl_include_params *params)"
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1108,1
    - Dst: ucl_realpath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1109,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1117,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1119,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1123,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1129,1
    - Dst: ucl_fetch_file
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1134,1
    - Dst: ucl_parser_clear_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1144,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1154,1
    - Dst: ucl_fetch_file
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1155,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1157,1
    - Dst: ucl_sig_check
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1162,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1163,1
    - Dst: ERR_error_string
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1165,1
    - Dst: ERR_get_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1165,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1167,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1170,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1177,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1186,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1187,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1189,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1191,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1193,1
    - Dst: ucl_parser_set_filevars
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1197,1
    - Dst: basename
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1204,1
    - Dst: strrchr
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1205,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1206,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1206,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1215,1
    - Dst: ucl_hash_search
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1215,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1216,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1218,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1221,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1223,1
    - Dst: ucl_copy_key_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1224,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1228,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1232,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1236,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1239,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1241,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1244,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1247,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1255,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1259,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1261,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1264,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1275,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1278,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1281,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1284,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1291,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1292,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1293,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1301,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1304,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1306,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1313,1
    - Dst: ucl_copy_key_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1314,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1318,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1323,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1329,1
    - Dst: ucl_object_type_to_string
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1332,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1332,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1334,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1346,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1348,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1349,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1352,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1362,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1366,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1373,1
    - Dst: ucl_chunk_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1380,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1386,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1390,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1391,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1392,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1393,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1394,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1395,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1396,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1397,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1398,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1399,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1400,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1404,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1407,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1414,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 225
    argCount: 4
    argNames:
    - data
    - len
    - parser
    - params
    argTypes:
    - unsigned char*
    - size_t
    - struct ucl_parser*
    - struct ucl_include_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1418
    functionName: ucl_include_file_single
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - UCL_FREE
    - ucl_hash_search
    - ucl_sig_check
    - DL_FOREACH_SAFE
    - UCL_ALLOC
    - LL_PREPEND
    - ucl_parser_clear_error
    - ucl_array_append
    - basename
    - strrchr
    - DL_DELETE
    - ucl_object_new_full
    - __DECONST
    - ucl_munmap
    - ucl_hash_insert_object
    - ucl_chunk_free
    - DL_APPEND
    - ucl_hash_replace
    - ucl_parser_set_filevars
    - ERR_get_error
    - ucl_fetch_file
    - free
    - ucl_parser_add_chunk_full
    - ERR_error_string
    - ucl_object_type
    - ucl_create_err
    - snprintf
    - strcmp
    - ucl_copy_key_trash
    - ucl_realpath
    - strerror
    - strcasecmp
    - ucl_object_typed_new
    - ucl_object_type_to_string
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool ucl_include_file_single (const unsigned char *data, size_t len,\n\t\tstruct
      ucl_parser *parser, struct ucl_include_params *params)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ucl_include_file_single
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1442,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1455,1
    - Dst: ucl_strlcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1456,1
    - Dst: glob
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1458,1
    - Dst: struct ucl_parser*::include_trace_func
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1470,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1472,1
    - Dst: ucl_include_file_single
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1476,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1477,1
    - Dst: globfree
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1481,1
    - Dst: globfree
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1486,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1489,1
    - Dst: ucl_include_file_single
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1495,1
    - Dst: ucl_include_file_single
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1501,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 5
    argNames:
    - data
    - len
    - parser
    - params
    - args
    argTypes:
    - unsigned char*
    - size_t
    - struct ucl_parser*
    - struct ucl_include_params*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1505
    functionName: ucl_include_file
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - globfree
    - struct ucl_parser*::include_trace_func
    - strlen
    - ucl_create_err
    - ucl_include_file_single
    - glob
    - ucl_strlcpy
    - memset
    linkageType: ''
    returnType: bool
    signature: "bool ucl_include_file (const unsigned char *data, size_t len,\n\t\t\t\t
      \ struct ucl_parser *parser,\n\t\t\t\t  struct ucl_include_params *params,\n\t\t\t\t
      \ const ucl_object_t *args)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_parser*::include_trace_func
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1549,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1555,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1557,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1558,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1560,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1561,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1563,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1564,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1566,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1567,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1569,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1570,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1574,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1575,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1577,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1578,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1580,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1581,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1583,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1586,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1589,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1592,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1598,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1603,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1604,1
    - Dst: ucl_strnstr
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1611,1
    - Dst: ucl_include_url
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1613,1
    - Dst: ucl_include_file
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1617,1
    - Dst: ucl_strnstr
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1621,1
    - Dst: ucl_include_url
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1623,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1626,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1627,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1628,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1629,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1629,1
    - Dst: ucl_include_file
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1631,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1631,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1639,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1644,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 6
    argNames:
    - data
    - len
    - args
    - parser
    - default_try
    - default_sign
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - struct ucl_parser*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1517
    functionDepth: 4
    functionLinenumber: 1517
    functionLinenumberEnd: 1652
    functionName: ucl_include_common
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_include_file
    - struct ucl_parser*::include_trace_func
    - ucl_object_iterate
    - ucl_object_iterate_new
    - strncmp
    - strlen
    - ucl_include_url
    - ucl_strnstr
    - ucl_object_type
    - snprintf
    - ucl_create_err
    - strcmp
    - ucl_object_toboolean
    - ucl_object_iterate_free
    - ucl_object_tostring
    - ucl_object_iterate_safe
    - ucl_object_toint
    linkageType: ''
    returnType: bool
    signature: "bool ucl_include_common (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, struct ucl_parser *parser,\n\t\tbool default_try,\n\t\tbool
      default_sign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_include_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - len
    - args
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1662
    functionDepth: 5
    functionLinenumber: 1662
    functionLinenumberEnd: 1669
    functionName: ucl_include_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_include_common
    linkageType: ''
    returnType: bool
    signature: "bool ucl_include_handler (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, void* ud)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_include_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - len
    - args
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1679
    functionDepth: 5
    functionLinenumber: 1679
    functionLinenumberEnd: 1686
    functionName: ucl_includes_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_include_common
    linkageType: ''
    returnType: bool
    signature: "bool ucl_includes_handler (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, void* ud)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_include_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - len
    - args
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1696
    functionDepth: 5
    functionLinenumber: 1696
    functionLinenumberEnd: 1703
    functionName: ucl_try_include_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_include_common
    linkageType: ''
    returnType: bool
    signature: "bool ucl_try_include_handler (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, void* ud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1730,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1732,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1733,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1741,1
    - Dst: ucl_strlcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1742,1
    - Dst: strtol
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1743,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1745,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1747,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1750,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - data
    - len
    - args
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1761
    functionName: ucl_priority_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - free
    - ucl_object_iterate
    - strncmp
    - strtol
    - malloc
    - ucl_create_err
    - ucl_strlcpy
    - ucl_object_toint
    linkageType: ''
    returnType: bool
    signature: "bool ucl_priority_handler (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, void* ud)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1809,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1811,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1812,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1814,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1815,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1817,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1818,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1823,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1824,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1831,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1832,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1834,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1835,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1839,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1840,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1846,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1847,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1852,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1854,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1859,1
    - Dst: ucl_fetch_file
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1861,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1863,1
    - Dst: ucl_parser_clear_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1866,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1872,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1874,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1874,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1878,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1880,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1886,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1887,1
    - Dst: ucl_copy_value_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1888,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1893,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1894,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1897,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1899,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1905,1
    - Dst: strtoll
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1906,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1907,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1908,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1912,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1917,1
    - Dst: ucl_copy_key_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1918,1
    - Dst: ucl_object_set_priority
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1921,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1922,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1928,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 4
    argNames:
    - data
    - len
    - args
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1930
    functionName: ucl_load_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ucl_object_toboolean
    - strtoll
    - ucl_parser_clear_error
    - ucl_object_tostring
    - ucl_object_fromint
    - __DECONST
    - ucl_munmap
    - ucl_fetch_file
    - free
    - ucl_object_iterate
    - ucl_create_err
    - snprintf
    - ucl_copy_key_trash
    - ucl_object_set_priority
    - strcasecmp
    - malloc
    - ucl_object_insert_key
    - ucl_copy_value_trash
    - ucl_object_fromstring_common
    - strlen
    - ucl_object_toint
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_load_handler (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, void* ud)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1942,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1945,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1946,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1952,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1953,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1959,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1960,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1963,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1965,1
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1969,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1975,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 5
    argNames:
    - data
    - len
    - args
    - ctx
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - ucl_object_t*
    - ucl_object_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1980
    functionName: ucl_inherit_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - ucl_object_type
    - ucl_create_err
    - ucl_object_insert_key
    - ucl_object_lookup_len
    - ucl_object_toboolean
    - ucl_object_copy
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_inherit_handler (const unsigned char *data, size_t len,\n\t\tconst
      ucl_object_t *args, const ucl_object_t *ctx, void* ud)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_realpath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1989,1
    - Dst: ucl_strlcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1994,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:1998,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2001,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2004,1
    - Dst: dirname
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2005,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2006,1
    - Dst: getcwd
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2010,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2011,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - filename
    - need_expand
    argTypes:
    - struct ucl_parser*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 2016
    functionName: ucl_parser_set_filevars
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 2
    functionsReached:
    - free
    - ucl_parser_register_variable
    - dirname
    - getcwd
    - ucl_strlcpy
    - ucl_realpath
    - strdup
    linkageType: ''
    returnType: bool
    signature: bool ucl_parser_set_filevars (struct ucl_parser *parser, const char
      *filename, bool need_expand)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_realpath
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2028,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2029,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2031,1
    - Dst: ucl_fetch_file
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2035,1
    - Dst: ucl_parser_set_filevars
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2039,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2040,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - parser
    - filename
    - priority
    - strat
    - parse_type
    argTypes:
    - struct ucl_parser*
    - char*
    - unsigned
    - enum ucl_duplicate_strategy
    - enum ucl_parse_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2018
    functionDepth: 2
    functionLinenumber: 2018
    functionLinenumberEnd: 2048
    functionName: ucl_parser_add_file_full
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_parser_add_chunk_full
    - ucl_munmap
    - strerror
    - ucl_create_err
    - ucl_parser_set_filevars
    - ucl_fetch_file
    - ucl_realpath
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_file_full (struct ucl_parser *parser, const char
      *filename,\n\t\tunsigned priority, enum ucl_duplicate_strategy strat,\n\t\tenum
      ucl_parse_type parse_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_file_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - filename
    - priority
    argTypes:
    - struct ucl_parser*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2050
    functionDepth: 3
    functionLinenumber: 2050
    functionLinenumberEnd: 2060
    functionName: ucl_parser_add_file_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_parser_add_file_full
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_file_priority (struct ucl_parser *parser, const
      char *filename,\n\t\tunsigned priority)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_file_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - parser
    - filename
    argTypes:
    - struct ucl_parser*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2062
    functionDepth: 3
    functionLinenumber: 2062
    functionLinenumberEnd: 2072
    functionName: ucl_parser_add_file
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 2
    functionsReached:
    - ucl_parser_add_file_full
    linkageType: ''
    returnType: bool
    signature: bool ucl_parser_add_file (struct ucl_parser *parser, const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2085,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2086,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2087,1
    - Dst: ucl_mmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2093,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2094,1
    - Dst: strerror
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2095,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2100,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2104,1
    - Dst: ucl_munmap
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - parser
    - fd
    - priority
    - strat
    - parse_type
    argTypes:
    - struct ucl_parser*
    - int
    - unsigned
    - enum ucl_duplicate_strategy
    - enum ucl_parse_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2112
    functionName: ucl_parser_add_fd_full
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - free
    - ucl_mmap
    - ucl_parser_add_chunk_full
    - ucl_munmap
    - strerror
    - ucl_create_err
    - fstat
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_fd_full (struct ucl_parser *parser, int fd,\n\t\tunsigned
      priority, enum ucl_duplicate_strategy strat,\n\t\tenum ucl_parse_type parse_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_fd_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - fd
    - priority
    argTypes:
    - struct ucl_parser*
    - int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2114
    functionDepth: 2
    functionLinenumber: 2114
    functionLinenumberEnd: 2124
    functionName: ucl_parser_add_fd_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_parser_add_fd_full
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_fd_priority (struct ucl_parser *parser, int fd,\n\t\tunsigned
      priority)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_fd_priority
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - parser
    - fd
    argTypes:
    - struct ucl_parser*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2126
    functionDepth: 3
    functionLinenumber: 2126
    functionLinenumberEnd: 2134
    functionName: ucl_parser_add_fd
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 3
    functionsReached:
    - ucl_parser_add_fd_priority
    linkageType: ''
    returnType: bool
    signature: bool ucl_parser_add_fd (struct ucl_parser *parser, int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2136
    functionDepth: 0
    functionLinenumber: 2136
    functionLinenumberEnd: 2157
    functionName: ucl_strlcpy
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ucl_strlcpy (char *dst, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2166
    functionName: ucl_strlcpy_unsafe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ucl_strlcpy_unsafe (char *dst, const char *src, size_t siz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2189
    functionName: ucl_strlcpy_tolower
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: size_t
    signature: size_t ucl_strlcpy_tolower (char *dst, const char *src, size_t siz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2201,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - find
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2211
    functionName: ucl_strnstr
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_strnstr (const char *s, const char *find, int len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2223,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2224,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2229,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - s
    - find
    - len
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2234
    functionName: ucl_strncasestr
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncasecmp
    - tolower
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_strncasestr (const char *s, const char *find, int len)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2248,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2251,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2256,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2262,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2276,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2290,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2293,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2355,1
    - Dst: ucl_strlcpy_unsafe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2357,1
    - Dst: ucl_maybe_parse_boolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2366,1
    - Dst: ucl_maybe_parse_number
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2367,1
    - Dst: ucl_maybe_parse_number
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2374,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 124
    argCount: 3
    argNames:
    - str
    - len
    - flags
    argTypes:
    - char*
    - size_t
    - enum ucl_string_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2236
    functionDepth: 2
    functionLinenumber: 2236
    functionLinenumberEnd: 2383
    functionName: ucl_object_fromstring_common
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 6
    functionsReached:
    - ucl_test_character
    - ucl_maybe_parse_number
    - ucl_maybe_parse_boolean
    - malloc
    - ucl_strlcpy_unsafe
    - strlen
    - ucl_object_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_fromstring_common (const char *str, size_t len, enum ucl_string_flags
      flags)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_create
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2415,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2419,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2423,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2433,1
    - Dst: ucl_copy_key_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2442,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2445,1
    - Dst: ucl_hash_search_obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2445,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2448,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2456,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2457,1
    - Dst: ucl_object_insert_key_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2462,1
    - Dst: ucl_hash_delete
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2464,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2465,1
    - Dst: ucl_object_insert_key_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2469,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2474,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2475,1
    - Dst: ucl_object_insert_key_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2476,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2479,1
    - Dst: DL_CONCAT
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2483,1
    - Dst: DL_CONCAT
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2487,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 7
    argNames:
    - top
    - elt
    - key
    - keylen
    - copy_key
    - merge
    - replace
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - char*
    - size_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2385
    functionDepth: 2
    functionLinenumber: 2385
    functionLinenumberEnd: 2492
    functionName: ucl_object_insert_key_common
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - free
    - ucl_object_unref
    - ucl_test_character
    - __DECONST
    - ucl_hash_insert_object
    - ucl_object_iterate
    - ucl_object_insert_key_common
    - DL_CONCAT
    - ucl_hash_replace
    - ucl_hash_delete
    - ucl_hash_create
    - ucl_hash_search_obj
    - ucl_copy_key_trash
    - ucl_object_ref
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_insert_key_common (ucl_object_t *top, ucl_object_t
      *elt,\n\t\tconst char *key, size_t keylen, bool copy_key, bool merge, bool replace)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2503,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2503,1
    - Dst: ucl_hash_delete
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2509,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - top
    - key
    - keylen
    argTypes:
    - ucl_object_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2514
    functionName: ucl_object_delete_keyl
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_lookup_len
    - ucl_hash_delete
    - ucl_object_unref
    - __DECONST
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_delete_keyl (ucl_object_t *top, const char *key, size_t
      keylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_delete_keyl
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2519,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - top
    - key
    argTypes:
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2516
    functionDepth: 2
    functionLinenumber: 2516
    functionLinenumberEnd: 2520
    functionName: ucl_object_delete_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - strlen
    - ucl_object_delete_keyl
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_delete_key (ucl_object_t *top, const char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2530,1
    - Dst: ucl_hash_delete
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2535,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - top
    - key
    - keylen
    argTypes:
    - ucl_object_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2539
    functionName: ucl_object_pop_keyl
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_lookup_len
    - ucl_hash_delete
    - __DECONST
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_pop_keyl (ucl_object_t *top, const char *key, size_t keylen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_pop_keyl
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2544,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - top
    - key
    argTypes:
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2541
    functionDepth: 2
    functionLinenumber: 2541
    functionLinenumberEnd: 2545
    functionName: ucl_object_pop_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_pop_keyl
    - strlen
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_pop_key (ucl_object_t *top, const char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_insert_key_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - top
    - elt
    - key
    - keylen
    - copy_key
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2547
    functionDepth: 3
    functionLinenumber: 2547
    functionLinenumberEnd: 2552
    functionName: ucl_object_insert_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 8
    functionsReached:
    - ucl_object_insert_key_common
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_insert_key (ucl_object_t *top, ucl_object_t *elt,\n\t\tconst
      char *key, size_t keylen, bool copy_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_insert_key_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - top
    - elt
    - key
    - keylen
    - copy_key
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2554
    functionDepth: 3
    functionLinenumber: 2554
    functionLinenumberEnd: 2559
    functionName: ucl_object_insert_key_merged
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_insert_key_common
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_insert_key_merged (ucl_object_t *top, ucl_object_t
      *elt,\n\t\tconst char *key, size_t keylen, bool copy_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_insert_key_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - top
    - elt
    - key
    - keylen
    - copy_key
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2561
    functionDepth: 3
    functionLinenumber: 2561
    functionLinenumberEnd: 2566
    functionName: ucl_object_replace_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_insert_key_common
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_replace_key (ucl_object_t *top, ucl_object_t *elt,\n\t\tconst
      char *key, size_t keylen, bool copy_key)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ucl_array_merge
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2581,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2585,1
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2585,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2590,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2590,1
    - Dst: ucl_hash_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2599,1
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2603,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2605,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2608,1
    - Dst: ucl_hash_search
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2609,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2613,1
    - Dst: ucl_object_merge
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2620,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2623,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2626,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2627,1
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2634,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2637,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2640,1
    - Dst: ucl_hash_search
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2641,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2645,1
    - Dst: ucl_object_merge
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2652,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2655,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2658,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2659,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 3
    argNames:
    - top
    - elt
    - copy
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2568
    functionDepth: 1
    functionLinenumber: 2568
    functionLinenumberEnd: 2670
    functionName: ucl_object_merge
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - ucl_hash_iterate
    - __DECONST
    - ucl_array_merge
    - ucl_hash_search
    - ucl_hash_insert_object
    - ucl_object_merge
    - ucl_hash_replace
    - ucl_object_ref
    - ucl_object_copy
    - ucl_array_append
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_merge (ucl_object_t *top, ucl_object_t *elt, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_search_obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - key
    - klen
    argTypes:
    - ucl_object_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2672
    functionDepth: 1
    functionLinenumber: 2672
    functionLinenumberEnd: 2687
    functionName: ucl_object_lookup_len
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 4
    functionsReached:
    - ucl_hash_search_obj
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lookup_len (const ucl_object_t *obj, const char *key, size_t klen)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2696,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - obj
    - key
    argTypes:
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2689
    functionDepth: 2
    functionLinenumber: 2689
    functionLinenumberEnd: 2697
    functionName: ucl_object_lookup
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 5
    functionsReached:
    - ucl_object_lookup_len
    - strlen
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lookup (const ucl_object_t *obj, const char *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2711,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2711,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2714,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2717,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2723,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2723,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - obj
    - key
    argTypes:
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2699
    functionDepth: 2
    functionLinenumber: 2699
    functionLinenumberEnd: 2731
    functionName: ucl_object_lookup_any
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - va_arg
    - va_start
    - ucl_object_lookup_len
    - strlen
    - va_end
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_object_lookup_any (const ucl_object_t *obj,\n\t\tconst
      char *key, ...)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_iterate2
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2746,1
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2750,1
    - Dst: kv_size
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2754,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2755,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2780,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - obj
    - iter
    - expand_values
    - ep
    argTypes:
    - ucl_object_t*
    - ucl_object_iter_t*
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2733
    functionDepth: 1
    functionLinenumber: 2733
    functionLinenumberEnd: 2785
    functionName: ucl_object_iterate_with_error
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - kv_A
    - __DECONST
    - UCL_ARRAY_GET
    - kv_size
    - ucl_hash_iterate2
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_object_iterate_with_error (const ucl_object_t
      *obj, ucl_object_iter_t *iter, bool expand_values,\n    int *ep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2804
    functionName: UCL_SAFE_ITER
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_SAFE_ITER(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - it
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2804
    functionDepth: 0
    functionLinenumber: 2804
    functionLinenumberEnd: 2808
    functionName: UCL_SAFE_ITER_CHECK
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_SAFE_ITER_CHECK(it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2814,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2809
    functionDepth: 1
    functionLinenumber: 2809
    functionLinenumberEnd: 2823
    functionName: ucl_object_iterate_new
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 9
    functionsReached:
    - UCL_ALLOC
    - memcpy
    linkageType: ''
    returnType: ucl_object_iter_t
    signature: ucl_object_iter_t ucl_object_iterate_new (const ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UCL_SAFE_ITER
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2828,1
    - Dst: UCL_SAFE_ITER_CHECK
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - ucl_object_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2825
    functionDepth: 1
    functionLinenumber: 2825
    functionLinenumberEnd: 2833
    functionName: ucl_object_iter_chk_excpn
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 4
    functionsReached:
    - UCL_SAFE_ITER_CHECK
    - UCL_SAFE_ITER
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_iter_chk_excpn(ucl_object_iter_t *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UCL_SAFE_ITER
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2838,1
    - Dst: UCL_SAFE_ITER_CHECK
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2840,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2844,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - it
    - obj
    argTypes:
    - ucl_object_iter_t
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 2853
    functionName: ucl_object_iterate_reset
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - UCL_SAFE_ITER_CHECK
    - UCL_SAFE_ITER
    - UCL_FREE
    linkageType: ''
    returnType: ucl_object_iter_t
    signature: ucl_object_iter_t ucl_object_iterate_reset (ucl_object_iter_t it, const
      ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - it
    - expand_values
    argTypes:
    - ucl_object_iter_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2855
    functionDepth: 1
    functionLinenumber: 2855
    functionLinenumberEnd: 2860
    functionName: ucl_object_iterate_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 9
    functionsReached:
    - ucl_object_iterate_full
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_iterate_safe (ucl_object_iter_t it, bool expand_values)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UCL_SAFE_ITER
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2865,1
    - Dst: UCL_SAFE_ITER_CHECK
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2869,1
    - Dst: ucl_object_iterate_with_error
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2877,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2889,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2894,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2901,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - it
    - type
    argTypes:
    - ucl_object_iter_t
    - enum ucl_iterate_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2862
    functionDepth: 2
    functionLinenumber: 2862
    functionLinenumberEnd: 2919
    functionName: ucl_object_iterate_full
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_iterate_with_error
    - ucl_object_iterate
    - UCL_SAFE_ITER
    - UCL_SAFE_ITER_CHECK
    - ucl_object_iterate_safe
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_iterate_full (ucl_object_iter_t it, enum ucl_iterate_type type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UCL_SAFE_ITER
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2924,1
    - Dst: UCL_SAFE_ITER_CHECK
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2926,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2930,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - it
    argTypes:
    - ucl_object_iter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2921
    functionDepth: 1
    functionLinenumber: 2921
    functionLinenumberEnd: 2935
    functionName: ucl_object_iterate_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 9
    functionsReached:
    - UCL_SAFE_ITER_CHECK
    - UCL_SAFE_ITER
    - UCL_FREE
    linkageType: ''
    returnType: void
    signature: void ucl_object_iterate_free (ucl_object_iter_t it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_path_char
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - top
    - path_in
    argTypes:
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2937
    functionDepth: 1
    functionLinenumber: 2937
    functionLinenumberEnd: 2940
    functionName: ucl_object_lookup_path
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_lookup_path_char
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lookup_path (const ucl_object_t *top, const char *path_in)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2970,1
    - Dst: ucl_array_find_index
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2974,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2977,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - top
    - path_in
    - sep
    argTypes:
    - ucl_object_t*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2943
    functionDepth: 2
    functionLinenumber: 2943
    functionLinenumberEnd: 2993
    functionName: ucl_object_lookup_path_char
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 2
    functionsReached:
    - strtoul
    - ucl_object_lookup_len
    - ucl_array_find_index
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_lookup_path_char (const ucl_object_t *top, const char *path_in, const
      char sep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:2999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2996
    functionDepth: 1
    functionLinenumber: 2996
    functionLinenumberEnd: 3000
    functionName: ucl_object_new
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_typed_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_new (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ucl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3006
    functionName: ucl_object_typed_new
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 15
    functionsReached:
    - ucl_object_new_full
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_typed_new (ucl_type_t type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC::UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3014,1
    - Dst: value::value
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3024,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3024,1
    - Dst: value::value
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3025,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3026,1
    - Dst: ucl_object_new_userdata::ucl_object_new_userdata
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - type
    - priority
    argTypes:
    - ucl_type_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3008
    functionDepth: 1
    functionLinenumber: 3008
    functionLinenumberEnd: 3041
    functionName: ucl_object_new_full
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 4
    functionsReached:
    - UCL_ALLOC::UCL_ALLOC
    - value::value
    - UCL_ALLOC
    - memset
    - ucl_object_new_userdata::ucl_object_new_userdata
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_new_full (ucl_type_t type, unsigned priority)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3046,1
    - Dst: ucl_hash_reserve
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - reserved
    argTypes:
    - ucl_object_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3043
    functionDepth: 1
    functionLinenumber: 3043
    functionLinenumberEnd: 3059
    functionName: ucl_object_reserve
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_hash_reserve
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_reserve (ucl_object_t *obj, size_t reserved)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC::UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3069,1
    - Dst: obj::obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3072,1
    - Dst: obj::obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3073,1
    - Dst: obj::obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3074,1
    - Dst: obj::obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3075,1
    - Dst: obj::obj
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - dtor
    - emitter
    - ptr
    argTypes:
    - ucl_userdata_dtor
    - ucl_userdata_emitter
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3082
    functionName: ucl_object_new_userdata
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 3
    functionsReached:
    - obj::obj
    - UCL_ALLOC::UCL_ALLOC
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_object_new_userdata (ucl_userdata_dtor dtor,\n\t\tucl_userdata_emitter
      emitter,\n\t\tvoid *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3092
    functionName: ucl_object_type
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: ucl_type_t
    signature: ucl_type_t ucl_object_type (const ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3094
    functionDepth: 3
    functionLinenumber: 3094
    functionLinenumberEnd: 3098
    functionName: ucl_object_fromstring
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_fromstring_common
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_fromstring (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3100
    functionDepth: 3
    functionLinenumber: 3100
    functionLinenumberEnd: 3104
    functionName: ucl_object_fromlstring
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_fromstring_common
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_fromlstring (const char *str, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iv
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3106
    functionDepth: 2
    functionLinenumber: 3106
    functionLinenumberEnd: 3118
    functionName: ucl_object_fromint
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 5
    functionsReached:
    - ucl_object_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_fromint (int64_t iv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dv
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3120
    functionDepth: 2
    functionLinenumber: 3120
    functionLinenumberEnd: 3132
    functionName: ucl_object_fromdouble
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 4
    functionsReached:
    - ucl_object_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_fromdouble (double dv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bv
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3134
    functionDepth: 2
    functionLinenumber: 3134
    functionLinenumberEnd: 3146
    functionName: ucl_object_frombool
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 3
    functionsReached:
    - ucl_object_new
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_frombool (bool bv)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3151,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3158,1
    - Dst: kv_init
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - top
    - elt
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3148
    functionDepth: 1
    functionLinenumber: 3148
    functionLinenumberEnd: 3175
    functionName: ucl_array_append
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 9
    functionsReached:
    - kv_init
    - UCL_ALLOC
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: bool
    signature: bool ucl_array_append (ucl_object_t *top, ucl_object_t *elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3180,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3187,1
    - Dst: kv_init
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - top
    - elt
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3177
    functionDepth: 1
    functionLinenumber: 3177
    functionLinenumberEnd: 3202
    functionName: ucl_array_prepend
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_init
    - UCL_ALLOC
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: bool
    signature: bool ucl_array_prepend (ucl_object_t *top, ucl_object_t *elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3216,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3219,1
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3222,1
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3223,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3229,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - top
    - elt
    - copy
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3240
    functionName: ucl_array_merge
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 2
    functionsReached:
    - UCL_ARRAY_GET
    - kv_A
    - ucl_object_ref
    - ucl_object_copy
    linkageType: ''
    returnType: bool
    signature: bool ucl_array_merge (ucl_object_t *top, ucl_object_t *elt, bool copy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3245,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - top
    - elt
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3242
    functionDepth: 1
    functionLinenumber: 3242
    functionLinenumberEnd: 3263
    functionName: ucl_array_delete
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_A
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_array_delete (ucl_object_t *top, ucl_object_t *elt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - top
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3265
    functionDepth: 1
    functionLinenumber: 3265
    functionLinenumberEnd: 3276
    functionName: ucl_array_head
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_array_head (const ucl_object_t *top)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - top
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3288
    functionName: ucl_array_tail
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_array_tail (const ucl_object_t *top)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3293,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - top
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3290
    functionDepth: 1
    functionLinenumber: 3290
    functionLinenumberEnd: 3304
    functionName: ucl_array_pop_last
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_A
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_array_pop_last (ucl_object_t *top)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3329,1
    - Dst: kv_size
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ucl_array_size
    argTypes:
    - top
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3315
    functionDepth: 1
    functionLinenumber: 3315
    functionLinenumberEnd: 3336
    functionName: kv_del
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - UCL_ARRAY_GET
    - kv_size
    linkageType: ''
    returnType: void
    signature: "void kv_del (ucl_object_t *, *vec, 0);\n\t\ttop->len --;\n\t}\n\n\treturn
      ret;\n}\n\nunsigned int\nucl_array_size (const ucl_object_t *top)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3341,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - top
    - index
    argTypes:
    - ucl_object_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3338
    functionDepth: 1
    functionLinenumber: 3338
    functionLinenumberEnd: 3348
    functionName: ucl_array_find_index
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_A
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_array_find_index (const ucl_object_t *top, unsigned int index)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3353,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - top
    - elt
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3350
    functionDepth: 1
    functionLinenumber: 3350
    functionLinenumberEnd: 3367
    functionName: ucl_array_index_of
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_A
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ucl_array_index_of (ucl_object_t *top, ucl_object_t *elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3373,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3377,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - top
    - elt
    - index
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3369
    functionDepth: 1
    functionLinenumber: 3369
    functionLinenumberEnd: 3382
    functionName: ucl_array_replace_index
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_A
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_array_replace_index (ucl_object_t *top, ucl_object_t
      *elt,\n\tunsigned int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - head
    - elt
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3401
    functionName: ucl_elt_append
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_elt_append (ucl_object_t *head, ucl_object_t *elt)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - obj
    - target
    argTypes:
    - ucl_object_t*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3422
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3422
    functionName: ucl_object_todouble_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_todouble_safe (const ucl_object_t *obj, double *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_todouble_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3431
      start: 3424
    functionDepth: 1
    functionLinenumber: 3424
    functionLinenumberEnd: 3431
    functionName: ucl_object_todouble
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_todouble_safe
    linkageType: ''
    returnType: double
    signature: double ucl_object_todouble (const ucl_object_t *obj)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - obj
    - target
    argTypes:
    - ucl_object_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3433
    functionDepth: 0
    functionLinenumber: 3433
    functionLinenumberEnd: 3452
    functionName: ucl_object_toint_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_toint_safe (const ucl_object_t *obj, int64_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3461
      start: 3454
    functionDepth: 1
    functionLinenumber: 3454
    functionLinenumberEnd: 3461
    functionName: ucl_object_toint
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 7
    functionsReached:
    - ucl_object_toint_safe
    linkageType: ''
    returnType: int64_t
    signature: int64_t ucl_object_toint (const ucl_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - target
    argTypes:
    - ucl_object_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3463
    functionDepth: 0
    functionLinenumber: 3463
    functionLinenumberEnd: 3478
    functionName: ucl_object_toboolean_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_toboolean_safe (const ucl_object_t *obj, bool *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toboolean_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3480
    functionDepth: 1
    functionLinenumber: 3480
    functionLinenumberEnd: 3487
    functionName: ucl_object_toboolean
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 4
    functionsReached:
    - ucl_object_toboolean_safe
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_toboolean (const ucl_object_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_copy_value_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - obj
    - target
    argTypes:
    - ucl_object_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3507
      start: 3489
    functionDepth: 2
    functionLinenumber: 3489
    functionLinenumberEnd: 3507
    functionName: ucl_object_tostring_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_copy_value_trash
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_tostring_safe (const ucl_object_t *obj, const char
      **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tostring_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3509
    functionDepth: 3
    functionLinenumber: 3509
    functionLinenumberEnd: 3516
    functionName: ucl_object_tostring
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 5
    functionsReached:
    - ucl_object_tostring_safe
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_object_tostring (const ucl_object_t *obj)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_copy_value_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3518
    functionDepth: 2
    functionLinenumber: 3518
    functionLinenumberEnd: 3527
    functionName: ucl_object_tostring_forced
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 5
    functionsReached:
    - ucl_copy_value_trash
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_object_tostring_forced (const ucl_object_t *obj)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - obj
    - target
    - tlen
    argTypes:
    - ucl_object_t*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3547
    functionName: ucl_object_tolstring_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_tolstring_safe (const ucl_object_t *obj, const char
      **target, size_t *tlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tolstring_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - obj
    - tlen
    argTypes:
    - ucl_object_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3549
    functionDepth: 1
    functionLinenumber: 3549
    functionLinenumberEnd: 3556
    functionName: ucl_object_tolstring
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_tolstring_safe
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_object_tolstring (const ucl_object_t *obj, size_t *tlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_copy_key_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3562
      start: 3558
    functionDepth: 2
    functionLinenumber: 3558
    functionLinenumberEnd: 3562
    functionName: ucl_object_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 12
    functionsReached:
    - ucl_copy_key_trash
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_object_key (const ucl_object_t *obj)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - obj
    - len
    argTypes:
    - ucl_object_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3572
    functionName: ucl_object_keyl
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_object_keyl (const ucl_object_t *obj, size_t *len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3586,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3589,1
    - Dst: __sync_add_and_fetch
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3598
      start: 3574
    functionDepth: 1
    functionLinenumber: 3574
    functionLinenumberEnd: 3598
    functionName: ucl_object_ref
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 6
    functionsReached:
    - __sync_add_and_fetch
    - __DECONST
    - ucl_object_copy
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_ref (const ucl_object_t *obj)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc::malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3608,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3625,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3626,1
    - Dst: trash_stack::trash_stack
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3626,1
    - Dst: trash_stack::trash_stack
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3628,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3633,1
    - Dst: type::type
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3634,1
    - Dst: value::value
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3635,1
    - Dst: trash_stack::trash_stack
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3635,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3641,1
    - Dst: value::value
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3641,1
    - Dst: value::value
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3641,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3643,1
    - Dst: ucl_object_copy_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3648,1
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3657,1
    - Dst: ucl_object_copy_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3658,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - other
    - allow_array
    argTypes:
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3667
    functionName: ucl_object_copy_internal
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_iterate
    - malloc
    - malloc::malloc
    - memcpy
    - trash_stack::trash_stack
    - value::value
    - ucl_object_copy_internal
    - LL_FOREACH
    - type::type
    - memset
    - strdup
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_copy_internal (const ucl_object_t *other, bool allow_array)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_copy_internal
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3673
      start: 3669
    functionDepth: 2
    functionLinenumber: 3669
    functionLinenumberEnd: 3673
    functionName: ucl_object_copy
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 5
    functionsReached:
    - ucl_object_copy_internal
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_object_copy (const ucl_object_t *other)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3704,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3704,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3704,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3713,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3713,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3716,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3716,1
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3720,1
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3721,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3726,1
    - Dst: kv_A
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3727,1
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3736,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3749,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3750,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3750,1
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3755,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3690
    functionDepth: 4
    functionLinenumber: 3690
    functionLinenumberEnd: 3771
    functionName: ucl_object_compare
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - kv_A
    - ucl_object_compare
    - ucl_object_iterate
    - ucl_object_todouble
    - UCL_ARRAY_GET
    - strcmp
    - ucl_object_toboolean
    - ucl_object_tostring
    - ucl_object_key
    - ucl_object_lookup
    linkageType: ''
    returnType: int
    signature: int ucl_object_compare (const ucl_object_t *o1, const ucl_object_t
      *o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - ucl_object_t**
    - ucl_object_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3778
      start: 3773
    functionDepth: 5
    functionLinenumber: 3773
    functionLinenumberEnd: 3778
    functionName: ucl_object_compare_qsort
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - ucl_object_compare
    linkageType: ''
    returnType: int
    signature: "int ucl_object_compare_qsort (const ucl_object_t **o1,\n\t\tconst
      ucl_object_t **o2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ARRAY_GET
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3784,1
    - Dst: qsort
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ar
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3780
    functionDepth: 1
    functionLinenumber: 3780
    functionLinenumberEnd: 3792
    functionName: ucl_object_array_sort
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - qsort
    - UCL_ARRAY_GET
    linkageType: ''
    returnType: void
    signature: "void ucl_object_array_sort (ucl_object_t *ar,\n\t\tint (*cmp)(const
      ucl_object_t **o1, const ucl_object_t **o2))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_sort
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - how
    argTypes:
    - ucl_object_t*
    - enum ucl_object_keys_sort_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3794
    functionDepth: 1
    functionLinenumber: 3794
    functionLinenumberEnd: 3800
    functionName: ucl_object_sort_keys
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_hash_sort
    linkageType: ''
    returnType: void
    signature: "void ucl_object_sort_keys (ucl_object_t *obj,\n\t\tenum ucl_object_keys_sort_flags
      how)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3812
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3812
    functionName: ucl_object_get_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ucl_object_get_priority (const ucl_object_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - priority
    argTypes:
    - ucl_object_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3825
    functionName: ucl_object_set_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ucl_object_set_priority (ucl_object_t *obj,\n\t\tunsigned int
      priority)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3830,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3833,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3836,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3839,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3842,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3845,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3848,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - input
    - res
    argTypes:
    - char*
    - ucl_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3859
    functionName: ucl_object_string_to_type
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool ucl_object_string_to_type (const char *input, ucl_type_t *res)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - type
    argTypes:
    - ucl_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3861
    functionDepth: 0
    functionLinenumber: 3861
    functionLinenumberEnd: 3895
    functionName: ucl_object_type_to_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_object_type_to_string (ucl_type_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3897
    functionDepth: 0
    functionLinenumber: 3897
    functionLinenumberEnd: 3905
    functionName: ucl_parser_get_comments
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_parser_get_comments (struct ucl_parser *parser)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - comments
    - srch
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3917
      start: 3907
    functionDepth: 2
    functionLinenumber: 3907
    functionLinenumberEnd: 3917
    functionName: ucl_comments_find
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_lookup_len
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_comments_find (const ucl_object_t *comments,\n\t\tconst
      ucl_object_t *srch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3927,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3932,1
    - Dst: ucl_object_delete_keyl
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3933,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - comments
    - from
    - to
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3943
      start: 3919
    functionDepth: 4
    functionLinenumber: 3919
    functionLinenumberEnd: 3943
    functionName: ucl_comments_move
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_lookup_len
    - ucl_object_insert_key
    - ucl_object_delete_keyl
    - ucl_object_ref
    linkageType: ''
    returnType: bool
    signature: "bool ucl_comments_move (ucl_object_t *comments,\n\t\tconst ucl_object_t
      *from, const ucl_object_t *to)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3950,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/src/ucl_util.c:3950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - comments
    - obj
    - comment
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3953
      start: 3945
    functionDepth: 4
    functionLinenumber: 3945
    functionLinenumberEnd: 3953
    functionName: ucl_comments_add
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 1
    functionsReached:
    - ucl_object_fromstring
    - ucl_object_insert_key
    linkageType: ''
    returnType: void
    signature: "void ucl_comments_add (ucl_object_t *comments, const ucl_object_t
      *obj,\n\t\tconst char *comment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parser
    - func
    - user_data
    argTypes:
    - struct ucl_parser*
    - ucl_include_trace_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3955
    functionDepth: 0
    functionLinenumber: 3955
    functionLinenumberEnd: 3962
    functionName: ucl_parser_set_include_tracer
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ucl_parser_set_include_tracer (struct ucl_parser *parser,\n\t\t\t\t\t\t\t
      \  ucl_include_trace_func_t func,\n\t\t\t\t\t\t\t   void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3964
    functionDepth: 0
    functionLinenumber: 3964
    functionLinenumberEnd: 3968
    functionName: ucl_parser_get_cur_file
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ucl_parser_get_cur_file (struct ucl_parser *parser)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - chunk
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: ucl_chunk_skipc
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ucl_chunk_skipc(chunk, p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isgraph
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:77,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:85,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - parser
    - code
    - str
    - err
    argTypes:
    - struct ucl_parser*
    - int
    - char*
    - UT_string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: ucl_set_err
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - isgraph
    - ucl_create_err
    linkageType: ''
    returnType: void
    signature: void ucl_set_err (struct ucl_parser *parser, int code, const char *str,
      UT_string **err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:105,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - parser
    - begin
    - len
    argTypes:
    - struct ucl_parser*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: ucl_save_comment
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_fromstring_common
    - DL_APPEND
    linkageType: ''
    returnType: void
    signature: void ucl_save_comment (struct ucl_parser *parser, const char *begin,
      size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - parser
    - obj
    - before
    argTypes:
    - struct ucl_parser*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: ucl_attach_comment
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_insert_key
    linkageType: ''
    returnType: void
    signature: void ucl_attach_comment (struct ucl_parser *parser, ucl_object_t *obj,
      bool before)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ucl_save_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:156,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:160,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:164,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:171,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:173,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:182,1
    - Dst: ucl_save_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:187,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:191,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:195,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:199,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:200,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:205,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:208,1
    - Dst: ucl_save_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:216,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 220
    functionName: ucl_skip_comments
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_save_comment
    - ucl_set_err
    linkageType: ''
    returnType: bool
    signature: bool ucl_skip_comments (struct ucl_parser *parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - c
    - is_bytes
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 251
    functionName: ucl_lex_num_multiplier
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long ucl_lex_num_multiplier (const unsigned char c, bool is_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: ucl_lex_time_multiplier
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: double
    signature: double ucl_lex_time_multiplier (const unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: ucl_lex_is_atom_end
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_test_character
    linkageType: ''
    returnType: bool
    signature: bool ucl_lex_is_atom_end (const unsigned char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - c1
    - c2
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: ucl_lex_is_comment
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_lex_is_comment (const unsigned char c1, const unsigned char
      c2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:326,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:329,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:338,1
    - Dst: struct ucl_parser*::var_handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:350,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 6
    argNames:
    - parser
    - ptr
    - remain
    - out_len
    - strict
    - found
    argTypes:
    - struct ucl_parser*
    - char*
    - size_t
    - size_t*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 363
    functionName: ucl_check_variable_safe
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - struct ucl_parser*::var_handler
    - memcmp
    - LL_FOREACH
    - free
    linkageType: ''
    returnType: char
    signature: "char *\nucl_check_variable_safe (struct ucl_parser *parser, const
      char *ptr, size_t remain,\n\t\tsize_t *out_len, bool strict, bool *found)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ucl_check_variable_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:387,1
    - Dst: ucl_check_variable_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - parser
    - ptr
    - remain
    - out_len
    - vars_found
    argTypes:
    - struct ucl_parser*
    - char*
    - size_t
    - size_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 423
    functionName: ucl_check_variable
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_check_variable_safe
    linkageType: ''
    returnType: char
    signature: "char *\nucl_check_variable (struct ucl_parser *parser, const char
      *ptr,\n\t\tsize_t remain, size_t *out_len, bool *vars_found)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:462,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:464,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:466,1
    - Dst: struct ucl_parser*::var_handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:480,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:485,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:489,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:495,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:505,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:510,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 5
    argNames:
    - parser
    - ptr
    - in_len
    - dest
    - out_len
    argTypes:
    - struct ucl_parser*
    - char*
    - size_t
    - unsigned char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 518
    functionName: ucl_expand_single_variable
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    - LL_FOREACH
    - memcmp
    - struct ucl_parser*::var_handler
    linkageType: ''
    returnType: char
    signature: "char *\nucl_expand_single_variable (struct ucl_parser *parser, const
      char *ptr,\n\t\tsize_t in_len, unsigned char **dest, size_t out_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucl_check_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:545,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:559,1
    - Dst: ucl_expand_single_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:569,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - parser
    - dst
    - src
    - in_len
    argTypes:
    - struct ucl_parser*
    - unsigned char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 579
    functionName: ucl_expand_variable
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - UCL_ALLOC
    - ucl_check_variable
    - ucl_expand_single_variable
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_expand_variable (struct ucl_parser *parser, unsigned char
      **dst,\n\t\tconst char *src, size_t in_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:608,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:610,1
    - Dst: ucl_strlcpy_tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:615,1
    - Dst: ucl_strlcpy_unsafe
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:618,1
    - Dst: ucl_unescape_json_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:623,1
    - Dst: ucl_unescape_squoted_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:626,1
    - Dst: ucl_expand_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:633,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 9
    argNames:
    - parser
    - src
    - dst
    - dst_const
    - in_len
    - need_unescape
    - need_lowercase
    - need_expand
    - unescape_squote
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - unsigned char**
    - char**
    - size_t
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 652
    functionName: ucl_copy_or_store_ptr
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - UCL_FREE
    - ucl_strlcpy_unsafe
    - UCL_ALLOC
    - ucl_unescape_squoted_string
    - ucl_set_err
    - ucl_expand_variable
    - ucl_unescape_json_string
    - ucl_strlcpy_tolower
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_copy_or_store_ptr (struct ucl_parser *parser,\n\t\tconst
      unsigned char *src, unsigned char **dst,\n\t\tconst char **dst_const, size_t
      in_len,\n\t\tbool need_unescape, bool need_lowercase, bool need_expand,\n\t\tbool
      unescape_squote)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:669,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:676,1
    - Dst: ucl_hash_create
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:688,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:698,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:707,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:711,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:714,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:731,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:737,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:739,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 5
    argNames:
    - obj
    - parser
    - is_array
    - level
    - has_obrace
    argTypes:
    - ucl_object_t*
    - struct ucl_parser*
    - bool
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 742
    functionName: ucl_parser_add_container
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - UCL_FREE
    - UCL_ALLOC
    - ucl_hash_create
    - LL_PREPEND
    - ucl_set_err
    - ucl_object_new_full
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_parser_add_container (ucl_object_t *obj, struct
      ucl_parser *parser,\n\t\tbool is_array, uint32_t level, bool has_obrace)"
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:763,1
    - Dst: isdigit
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:766,1
    - Dst: isdigit
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:808,1
    - Dst: ucl_strlcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:847,1
    - Dst: ucl_strlcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:850,1
    - Dst: strtod
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:855,1
    - Dst: strtoimax
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:859,1
    - Dst: strtoimax
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:862,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:879,1
    - Dst: ucl_lex_num_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:905,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:908,1
    - Dst: ucl_lex_num_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:920,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:922,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:928,1
    - Dst: ucl_lex_num_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:930,1
    - Dst: ucl_lex_num_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:933,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:939,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:940,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:941,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:950,1
    - Dst: ucl_lex_num_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:960,1
    - Dst: ucl_lex_num_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:963,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:966,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:976,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:995,1
    - Dst: ucl_lex_time_multiplier
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1001,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1008,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1011,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 259
    argCount: 7
    argNames:
    - obj
    - start
    - end
    - pos
    - allow_double
    - number_bytes
    - allow_time
    argTypes:
    - ucl_object_t*
    - char*
    - char*
    - char**
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 1043
    functionName: ucl_maybe_parse_number
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 1
    functionsReached:
    - ucl_lex_num_multiplier
    - ucl_test_character
    - isdigit
    - ucl_lex_time_multiplier
    - isxdigit
    - strtod
    - strtoimax
    - ucl_strlcpy
    - tolower
    - ucl_lex_is_atom_end
    linkageType: ''
    returnType: int
    signature: "int ucl_maybe_parse_number (ucl_object_t *obj,\n\t\tconst char *start,
      const char *end, const char **pos,\n\t\tbool allow_double, bool number_bytes,
      bool allow_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_maybe_parse_number
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1059,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - parser
    - chunk
    - obj
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1074
    functionName: ucl_lex_number
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_maybe_parse_number
    - ucl_set_err
    linkageType: ''
    returnType: bool
    signature: "bool ucl_lex_number (struct ucl_parser *parser,\n\t\tstruct ucl_chunk
      *chunk, ucl_object_t *obj)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1101,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1105,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1111,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1113,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1118,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1120,1
    - Dst: isxdigit
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1122,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1123,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1127,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1130,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1137,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1145,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1148,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1154,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1157,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 5
    argNames:
    - parser
    - chunk
    - need_unescape
    - ucl_escape
    - var_expand
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - bool*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1161
    functionName: ucl_lex_json_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_test_character
    - ucl_set_err
    - isxdigit
    linkageType: ''
    returnType: bool
    signature: "bool ucl_lex_json_string (struct ucl_parser *parser,\n\t\tstruct ucl_chunk
      *chunk,\n\t\tbool *need_unescape,\n\t\tbool *ucl_escape,\n\t\tbool *var_expand)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1180,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1183,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1189,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1196,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1200,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - parser
    - chunk
    - need_unescape
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1207
    functionName: ucl_lex_squoted_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_set_err
    linkageType: ''
    returnType: bool
    signature: "bool ucl_lex_squoted_string (struct ucl_parser *parser,\n\t\tstruct
      ucl_chunk *chunk, bool *need_unescape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1219,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1225,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1229,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1233,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1234,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - parser
    - cont
    - top
    - elt
    argTypes:
    - struct ucl_parser*
    - ucl_hash_t*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1238
    functionName: ucl_parser_append_elt
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_array_append
    - ucl_hash_replace
    - DL_APPEND
    - ucl_object_typed_new
    linkageType: ''
    returnType: void
    signature: "void ucl_parser_append_elt (struct ucl_parser *parser, ucl_hash_t
      *cont,\n\t\tucl_object_t *top,\n\t\tucl_object_t *elt)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1249,1
    - Dst: __DECONST
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1250,1
    - Dst: ucl_hash_search_obj
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1250,1
    - Dst: ucl_hash_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1259,1
    - Dst: ucl_object_get_priority
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1269,1
    - Dst: ucl_object_get_priority
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1270,1
    - Dst: ucl_parser_append_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1288,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1296,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1299,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1300,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1307,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1308,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1313,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1316,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1325,1
    - Dst: ucl_parser_append_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1329,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1337,1
    - Dst: ucl_hash_replace
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1340,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1341,1
    - Dst: ucl_attach_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1349,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 2
    argNames:
    - parser
    - nobj
    argTypes:
    - struct ucl_parser*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1240
    functionDepth: 5
    functionLinenumber: 1240
    functionLinenumberEnd: 1352
    functionName: ucl_parser_process_object_element
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - __DECONST
    - ucl_hash_insert_object
    - DL_APPEND
    - ucl_parser_append_elt
    - ucl_hash_replace
    - snprintf
    - ucl_hash_search_obj
    - DL_FOREACH
    - ucl_set_err
    - ucl_attach_comment
    - ucl_object_get_priority
    linkageType: ''
    returnType: bool
    signature: bool ucl_parser_process_object_element (struct ucl_parser *parser,
      ucl_object_t *nobj)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1377,1
    - Dst: ucl_lex_is_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1388,1
    - Dst: ucl_skip_comments
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1389,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1394,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1395,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1397,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1400,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1408,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1416,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1423,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1431,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1433,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1435,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1440,1
    - Dst: ucl_lex_json_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1447,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1459,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1468,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1469,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1473,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1477,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1484,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1488,1
    - Dst: ucl_lex_is_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1493,1
    - Dst: ucl_skip_comments
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1495,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1507,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1523,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1542,1
    - Dst: ucl_copy_or_store_ptr
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1546,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1550,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1554,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1555,1
    - Dst: ucl_parser_process_object_element
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1562,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 153
    argCount: 5
    argNames:
    - parser
    - chunk
    - next_key
    - end_of_object
    - got_content
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - bool*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1362
    functionDepth: 6
    functionLinenumber: 1362
    functionLinenumberEnd: 1572
    functionName: ucl_parse_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_object_unref
    - ucl_test_character
    - ucl_copy_or_store_ptr
    - ucl_parser_process_object_element
    - ucl_skip_comments
    - ucl_lex_json_string
    - ucl_set_err
    - ucl_lex_is_comment
    - ucl_object_new_full
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parse_key (struct ucl_parser *parser, struct ucl_chunk *chunk,\n\t\tbool
      *next_key, bool *end_of_object, bool *got_content)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1606,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1618,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1627,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1629,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1634,1
    - Dst: ucl_lex_is_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1634,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1637,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - parser
    - chunk
    - var_expand
    - need_unescape
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1641
    functionName: ucl_parse_string_value
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_lex_is_comment
    - ucl_lex_is_atom_end
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parse_string_value (struct ucl_parser *parser,\n\t\tstruct
      ucl_chunk *chunk, bool *var_expand, bool *need_unescape)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1672,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1676,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 6
    argNames:
    - parser
    - chunk
    - term
    - term_len
    - beg
    - var_expand
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - unsigned char*
    - int
    - unsigned char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1700
    functionName: ucl_parse_multiline_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ucl_parse_multiline_string (struct ucl_parser *parser,\n\t\tstruct
      ucl_chunk *chunk, const unsigned char *term,\n\t\tint term_len, unsigned char
      const **beg,\n\t\tbool *var_expand)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1713,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1716,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1717,1
    - Dst: ucl_attach_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1702
    functionDepth: 5
    functionLinenumber: 1702
    functionLinenumberEnd: 1730
    functionName: ucl_parser_get_container
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_array_append
    - ucl_object_unref
    - ucl_attach_comment
    - ucl_object_new_full
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_parser_get_container (struct ucl_parser *parser)'
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1750,1
    - Dst: ucl_lex_is_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1751,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1752,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1753,1
    - Dst: ucl_skip_comments
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1755,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1765,1
    - Dst: ucl_lex_json_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1767,1
    - Dst: ucl_parser_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1772,1
    - Dst: ucl_copy_or_store_ptr
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1779,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1792,1
    - Dst: ucl_lex_squoted_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1794,1
    - Dst: ucl_parser_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1798,1
    - Dst: ucl_copy_or_store_ptr
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1807,1
    - Dst: ucl_parser_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1821,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1824,1
    - Dst: ucl_parser_add_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1830,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1840,1
    - Dst: ucl_parser_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1845,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1848,1
    - Dst: ucl_parser_add_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1854,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1865,1
    - Dst: ucl_parser_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1880,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1883,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1889,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1896,1
    - Dst: ucl_parse_multiline_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1907,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1909,1
    - Dst: ucl_copy_or_store_ptr
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1916,1
    - Dst: ucl_parser_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1935,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1940,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1946,1
    - Dst: ucl_lex_number
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1947,1
    - Dst: ucl_parse_string_value
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1959,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1965,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1971,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1975,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1979,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1984,1
    - Dst: ucl_maybe_parse_boolean
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1989,1
    - Dst: ucl_copy_or_store_ptr
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:1991,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 194
    argCount: 2
    argNames:
    - parser
    - chunk
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1738
    functionDepth: 6
    functionLinenumber: 1738
    functionLinenumberEnd: 2008
    functionName: ucl_parse_value
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_parser_add_container
    - ucl_test_character
    - ucl_copy_or_store_ptr
    - ucl_parse_multiline_string
    - ucl_maybe_parse_boolean
    - ucl_skip_comments
    - ucl_lex_squoted_string
    - ucl_lex_number
    - ucl_parser_get_container
    - ucl_parse_string_value
    - memcmp
    - ucl_lex_json_string
    - ucl_set_err
    - ucl_lex_is_comment
    linkageType: ''
    returnType: bool
    signature: bool ucl_parse_value (struct ucl_parser *parser, struct ucl_chunk *chunk)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2026,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2028,1
    - Dst: ucl_lex_is_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2030,1
    - Dst: ucl_skip_comments
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2032,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2039,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2042,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2055,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2064,1
    - Dst: ucl_attach_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2067,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2083,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2087,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2098,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2105,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2111,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - parser
    - chunk
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2016
    functionDepth: 5
    functionLinenumber: 2016
    functionLinenumberEnd: 2120
    functionName: ucl_parse_after_value
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_test_character
    - UCL_FREE
    - ucl_skip_comments
    - ucl_create_err
    - ucl_attach_comment
    - ucl_set_err
    - ucl_lex_is_comment
    linkageType: ''
    returnType: bool
    signature: bool ucl_parse_after_value (struct ucl_parser *parser, struct ucl_chunk
      *chunk)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2143,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2146,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2151,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2169,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2181,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2193,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2205,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2210,1
    - Dst: ucl_save_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2215,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - parser
    - chunk
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2122
    functionDepth: 4
    functionLinenumber: 2122
    functionLinenumberEnd: 2223
    functionName: ucl_skip_macro_as_comment
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_test_character
    - ucl_save_comment
    linkageType: ''
    returnType: bool
    signature: "bool ucl_skip_macro_as_comment (struct ucl_parser *parser,\n\t\tstruct
      ucl_chunk *chunk)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2248,1
    - Dst: ucl_lex_json_string
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2249,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2259,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2262,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2263,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2274,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2278,1
    - Dst: ucl_lex_is_atom_end
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2284,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2287,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2297,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2300,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 5
    argNames:
    - parser
    - chunk
    - macro
    - macro_start
    - macro_len
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    - struct ucl_macro*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2234
    functionDepth: 3
    functionLinenumber: 2234
    functionLinenumberEnd: 2303
    functionName: ucl_parse_macro_value
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_test_character
    - ucl_lex_json_string
    - ucl_lex_is_atom_end
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parse_macro_value (struct ucl_parser *parser,\n\t\tstruct
      ucl_chunk *chunk, struct ucl_macro *macro,\n\t\tunsigned char const **macro_start,
      size_t *macro_len)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2333,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2360,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2371,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2378,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2379,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2380,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2384,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2386,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - parser
    - chunk
    argTypes:
    - struct ucl_parser*
    - struct ucl_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2311
    functionDepth: 3
    functionLinenumber: 2311
    functionLinenumberEnd: 2403
    functionName: ucl_parse_macro_arguments
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    - ucl_parser_get_object
    - ucl_parser_free
    - ucl_parser_new
    - ucl_set_err
    - ucl_parser_add_chunk
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_parse_macro_arguments (struct ucl_parser *parser,\n\t\tstruct
      ucl_chunk *chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - parser
    - ','
    - chunk
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2419
    functionName: SKIP_SPACES_COMMENTS
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_SPACES_COMMENTS(parser, chunk, p)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: ucl_skip_comments
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2449,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2458,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2460,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2468,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2474,1
    - Dst: ucl_parser_add_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2486,1
    - Dst: ucl_parser_add_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2490,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2507,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2508,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2517,1
    - Dst: ucl_parse_key
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2526,1
    - Dst: ucl_parser_add_container
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2540,1
    - Dst: ucl_parse_value
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2561,1
    - Dst: ucl_parse_after_value
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2570,1
    - Dst: ucl_skip_macro_as_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2594,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2596,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2610,1
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2612,1
    - Dst: HASH_FIND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2618,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2620,1
    - Dst: SKIP_SPACES_COMMENTS
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2633,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2638,1
    - Dst: ucl_parse_macro_arguments
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2651,1
    - Dst: SKIP_SPACES_COMMENTS
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2654,1
    - Dst: ucl_parse_macro_value
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2660,1
    - Dst: ucl_expand_variable
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2666,1
    - Dst: struct ucl_macro*::h::context_handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2672,1
    - Dst: struct ucl_macro*::h::handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2678,1
    - Dst: struct ucl_macro*::h::context_handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2684,1
    - Dst: struct ucl_macro*::h::handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2690,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2694,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2698,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2709,1
    - Dst: ucl_set_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2720,1
    - Dst: ucl_attach_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2729,1
    - Dst: ucl_attach_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2732,1
    - Dst: ucl_attach_comment
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2735,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2738,1
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2746,1
    - Dst: utstring_new
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2752,1
    - Dst: utstring_printf
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2755,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 228
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2425
    functionDepth: 7
    functionLinenumber: 2425
    functionLinenumberEnd: 2772
    functionName: ucl_state_machine
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_test_character
    - ucl_parse_after_value
    - UCL_FREE
    - ucl_parse_value
    - ucl_parse_macro_value
    - struct ucl_macro*::h::handler
    - ucl_chunk_skipc
    - ucl_parse_key
    - ucl_attach_comment
    - SKIP_SPACES_COMMENTS
    - ucl_parse_macro_arguments
    - ucl_create_err
    - ucl_parser_add_container
    - ucl_skip_comments
    - ucl_skip_macro_as_comment
    - HASH_FIND
    - utstring_new
    - LL_FOREACH
    - utstring_printf
    - ucl_set_err
    - ucl_expand_variable
    - struct ucl_macro*::h::context_handler
    linkageType: ''
    returnType: bool
    signature: bool ucl_state_machine (struct ucl_parser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fn
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2774
    functionDepth: 0
    functionLinenumber: 2774
    functionLinenumberEnd: 2778
    functionName: UPRM_SAFE
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPRM_SAFE(fn, a, b, c, el)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2784,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2789,1
    - Dst: utstring_new_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2792,1
    - Dst: UPRM_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2794,1
    - Dst: UPRM_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2795,1
    - Dst: UPRM_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2796,1
    - Dst: UPRM_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2797,1
    - Dst: UPRM_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2798,1
    - Dst: UPRM_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2799,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2805,1
    - Dst: ucl_parser_set_filevars
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2810,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2779
    functionDepth: 3
    functionLinenumber: 2779
    functionLinenumberEnd: 2817
    functionName: ucl_parser_new
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 12
    functionsReached:
    - ucl_parser_free
    - UPRM_SAFE
    - ucl_object_typed_new
    - UCL_ALLOC
    - ucl_parser_set_filevars
    - memset
    - utstring_new_safe
    linkageType: ''
    returnType: struct ucl_parser
    signature: 'struct ucl_parser *

      ucl_parser_new (int flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - prio
    argTypes:
    - struct ucl_parser*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2829
    functionName: ucl_parser_set_default_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_parser_set_default_priority (struct ucl_parser *parser, unsigned
      prio)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2839
    functionName: ucl_parser_get_default_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ucl_parser_get_default_priority (struct ucl_parser *parser)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC::UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2851,1
    - Dst: h::h
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2857,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2858,1
    - Dst: name::name
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2859,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2864,1
    - Dst: name::name
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2864,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2864,1
    - Dst: name::name
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - parser
    - macro
    - handler
    - ud
    argTypes:
    - struct ucl_parser*
    - char*
    - ucl_macro_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2866
    functionName: ucl_parser_register_macro
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - name::name
    - h::h
    - UCL_ALLOC::UCL_ALLOC
    - HASH_ADD_KEYPTR
    - strlen
    - strdup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_register_macro (struct ucl_parser *parser, const char
      *macro,\n\t\tucl_macro_handler handler, void* ud)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC::UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2878,1
    - Dst: h::h
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2884,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2885,1
    - Dst: name::name
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2886,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2892,1
    - Dst: name::name
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2892,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2892,1
    - Dst: name::name
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - parser
    - macro
    - handler
    - ud
    argTypes:
    - struct ucl_parser*
    - char*
    - ucl_context_macro_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2868
    functionDepth: 1
    functionLinenumber: 2868
    functionLinenumberEnd: 2894
    functionName: ucl_parser_register_context_macro
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - name::name
    - h::h
    - UCL_ALLOC::UCL_ALLOC
    - HASH_ADD_KEYPTR
    - strlen
    - strdup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_register_context_macro (struct ucl_parser *parser,
      const char *macro,\n\t\tucl_context_macro_handler handler, void* ud)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2907,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2908,1
    - Dst: cur::cur
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2909,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2918,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2919,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2920,1
    - Dst: value::value
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2920,1
    - Dst: UCL_ALLOC::UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2930,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2935,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2936,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2937,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2938,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2940,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2943,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2944,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - parser
    - var
    - value
    argTypes:
    - struct ucl_parser*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2948
    functionName: ucl_parser_register_variable
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 4
    functionsReached:
    - DL_DELETE
    - free
    - DL_APPEND
    - UCL_ALLOC::UCL_ALLOC
    - cur::cur
    - LL_FOREACH
    - value::value
    - strcmp
    - strlen
    - strdup
    linkageType: ''
    returnType: void
    signature: "void ucl_parser_register_variable (struct ucl_parser *parser, const
      char *var,\n\t\tconst char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parser
    - handler
    - ud
    argTypes:
    - struct ucl_parser*
    - ucl_variable_handler
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2956
    functionName: ucl_parser_set_variables_handler
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ucl_parser_set_variables_handler (struct ucl_parser *parser,\n\t\tucl_variable_handler
      handler, void *ud)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2971,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2976,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2978,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2982,1
    - Dst: LL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2985,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2988,1
    - Dst: struct ucl_parser_special_handler*::handler
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2992,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2994,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:2995,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3001,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3007,1
    - Dst: strdup
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3038,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3041,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3045,1
    - Dst: ucl_state_machine
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3055,1
    - Dst: ucl_parse_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3057,1
    - Dst: ucl_parse_csexp
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3059,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3069,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3076,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 6
    argNames:
    - parser
    - data
    - len
    - priority
    - strat
    - parse_type
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - size_t
    - unsigned
    - enum ucl_duplicate_strategy
    - enum ucl_parse_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 2958
    functionDepth: 8
    functionLinenumber: 2958
    functionLinenumberEnd: 3079
    functionName: ucl_parser_add_chunk_full
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 10
    functionsReached:
    - UCL_FREE
    - ucl_state_machine
    - ucl_create_err
    - LL_FOREACH
    - UCL_ALLOC
    - LL_PREPEND
    - ucl_parse_csexp
    - ucl_parse_msgpack
    - memcmp
    - memset
    - struct ucl_parser_special_handler*::handler
    - strdup
    - ucl_object_new_full
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_chunk_full (struct ucl_parser *parser, const unsigned
      char *data,\n\t\tsize_t len, unsigned priority, enum ucl_duplicate_strategy
      strat,\n\t\tenum ucl_parse_type parse_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - parser
    - data
    - len
    - priority
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3081
    functionDepth: 9
    functionLinenumber: 3081
    functionLinenumberEnd: 3092
    functionName: ucl_parser_add_chunk_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_parser_add_chunk_full
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_chunk_priority (struct ucl_parser *parser,\n\t\tconst
      unsigned char *data, size_t len, unsigned priority)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - data
    - len
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3094
    functionDepth: 9
    functionLinenumber: 3094
    functionLinenumberEnd: 3104
    functionName: ucl_parser_add_chunk
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 2
    functionsReached:
    - ucl_parser_add_chunk_full
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_chunk (struct ucl_parser *parser, const unsigned
      char *data,\n\t\tsize_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3125,1
    - Dst: ucl_chunk_free
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - parser
    - data
    - len
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3106
    functionDepth: 9
    functionLinenumber: 3106
    functionLinenumberEnd: 3139
    functionName: ucl_parser_insert_chunk
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_parser_add_chunk_full
    - ucl_chunk_free
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_insert_chunk (struct ucl_parser *parser, const unsigned
      char *data,\n\t\tsize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3146,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3150,1
    - Dst: ucl_parser_add_chunk_priority
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - parser
    - data
    - len
    - priority
    argTypes:
    - struct ucl_parser*
    - char*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3141
    functionDepth: 10
    functionLinenumber: 3141
    functionLinenumberEnd: 3155
    functionName: ucl_parser_add_string_priority
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - strlen
    - ucl_parser_add_chunk_priority
    - ucl_create_err
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_string_priority (struct ucl_parser *parser, const
      char *data,\n\t\tsize_t len, unsigned priority)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_add_string_priority
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - parser
    - data
    - len
    argTypes:
    - struct ucl_parser*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3157
    functionDepth: 11
    functionLinenumber: 3157
    functionLinenumberEnd: 3167
    functionName: ucl_parser_add_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 3
    functionsReached:
    - ucl_parser_add_string_priority
    linkageType: ''
    returnType: bool
    signature: "bool ucl_parser_add_string (struct ucl_parser *parser, const char
      *data,\n\t\tsize_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3177,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3180,1
    - Dst: ucl_object_copy
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - parser
    - paths
    argTypes:
    - struct ucl_parser*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 3169
    functionDepth: 3
    functionLinenumber: 3169
    functionLinenumberEnd: 3189
    functionName: ucl_set_include_path
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_object_copy
    linkageType: ''
    returnType: bool
    signature: bool ucl_set_include_path (struct ucl_parser *parser, ucl_object_t
      *paths)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3191
    functionDepth: 0
    functionLinenumber: 3191
    functionLinenumberEnd: 3199
    functionName: ucl_parser_chunk_peek
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ucl_parser_chunk_peek (struct ucl_parser *parser)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_chunk_skipc
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3201
    functionDepth: 1
    functionLinenumber: 3201
    functionLinenumberEnd: 3212
    functionName: ucl_parser_chunk_skip
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_chunk_skipc
    linkageType: ''
    returnType: bool
    signature: bool ucl_parser_chunk_skip (struct ucl_parser *parser)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3224,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3232,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_parser.c:3238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - parser
    - depth
    argTypes:
    - struct ucl_parser*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3214
    functionDepth: 2
    functionLinenumber: 3214
    functionLinenumberEnd: 3240
    functionName: ucl_parser_get_current_stack_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_parser.c
    functionUses: 0
    functionsReached:
    - ucl_object_type
    - ucl_object_ref
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_parser_get_current_stack_object (struct ucl_parser *parser, unsigned int
      depth)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:72,1
    - Dst: vsnprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:73,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - err
    - code
    - obj
    - fmt
    argTypes:
    - struct ucl_schema_error*
    - enum ucl_schema_error_code
    - ucl_object_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: ucl_schema_create_error
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void ucl_schema_create_error (struct ucl_schema_error *err,\n\t\tenum
      ucl_schema_error_code code, const ucl_object_t *obj,\n\t\tconst char *fmt, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:90,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:92,1
    - Dst: regexec
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:93,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:93,1
    - Dst: regexec
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:99,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:99,1
    - Dst: regfree
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - obj
    - pattern
    - recursive
    argTypes:
    - ucl_object_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: ucl_schema_test_pattern
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - regcomp
    - regexec
    - regfree
    - ucl_object_key
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_schema_test_pattern (const ucl_object_t *obj, const char *pattern, bool
      recursive)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:121,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:122,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:122,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:127,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:128,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:128,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:129,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:131,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:131,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - deps
    - obj
    - err
    - root
    - ext_ref
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 144
    functionName: ucl_schema_validate_dependencies
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - ucl_schema_create_error
    - ucl_schema_validate
    - ucl_object_tostring
    - ucl_object_key
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_dependencies (const ucl_object_t *deps,\n\t\tconst
      ucl_object_t *obj, struct ucl_schema_error *err,\n\t\tconst ucl_object_t *root,\n\t\tucl_object_t
      *ext_ref)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:161,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:163,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:163,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:165,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:166,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:166,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:168,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:173,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:173,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:175,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:185,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:191,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:191,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:196,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:202,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:202,1
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:203,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:205,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:212,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:212,1
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:213,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:215,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:222,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:222,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:226,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:228,1
    - Dst: ucl_schema_test_pattern
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:229,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:229,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:231,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:238,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:238,1
    - Dst: ucl_schema_validate_dependencies
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:239,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:248,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:249,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:250,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:251,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:251,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:254,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:255,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:256,1
    - Dst: ucl_schema_test_pattern
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:257,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:257,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:262,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:267,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:269,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:274,1
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:282,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:288,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:289,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:289,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:290,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:292,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 111
    argCount: 5
    argNames:
    - schema
    - obj
    - err
    - root
    - ext_ref
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 302
    functionName: ucl_schema_validate_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_schema_validate_dependencies
    - ucl_object_iterate_new
    - ucl_object_iterate
    - ucl_schema_test_pattern
    - ucl_schema_create_error
    - strcmp
    - ucl_schema_validate
    - ucl_object_toboolean
    - ucl_object_iterate_free
    - ucl_object_toint_safe
    - ucl_object_tostring
    - ucl_object_iterate_safe
    - ucl_object_key
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_object (const ucl_object_t *schema,\n\t\tconst
      ucl_object_t *obj, struct ucl_schema_error *err,\n\t\tconst ucl_object_t *root,\n\t\tucl_object_t
      *ext_ref)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:314,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:316,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:316,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:317,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:319,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:324,1
    - Dst: fabs
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:325,1
    - Dst: remainder
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:325,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:326,1
    - Dst: remainder
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:328,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:334,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:334,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:335,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:336,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:338,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:340,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:342,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:350,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:350,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:351,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:352,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:354,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:356,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:358,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 3
    argNames:
    - schema
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 368
    functionName: ucl_schema_validate_number
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - ucl_object_todouble
    - ucl_schema_create_error
    - remainder
    - strcmp
    - ucl_object_toboolean
    - ucl_object_key
    - fabs
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_number (const ucl_object_t *schema,\n\t\tconst
      ucl_object_t *obj, struct ucl_schema_error *err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:382,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:384,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:384,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:385,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:387,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:395,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:395,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:396,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:398,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:407,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:407,1
    - Dst: regcomp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:408,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:408,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:410,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:411,1
    - Dst: regexec
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:415,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:415,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:416,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:418,1
    - Dst: regfree
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:421,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - schema
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 427
    functionName: ucl_schema_validate_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - regcomp
    - regfree
    - ucl_schema_create_error
    - strcmp
    - regexec
    - ucl_object_tostring
    - ucl_object_key
    - ucl_object_toint
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_string (const ucl_object_t *schema,\n\t\tconst
      ucl_object_t *obj, struct ucl_schema_error *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - struct ucl_compare_node*
    - struct ucl_compare_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 5
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: ucl_schema_elt_compare
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_compare
    linkageType: ''
    returnType: int
    signature: int ucl_schema_elt_compare (struct ucl_compare_node *n1, struct ucl_compare_node
      *n2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TREE_INITIALIZER
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:450,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:456,1
    - Dst: TREE_FIND
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:458,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:460,1
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:465,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:467,1
    - Dst: TREE_INSERT
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:473,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:474,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 482
    functionName: ucl_schema_array_is_unique
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - free
    - ucl_object_iterate
    - TREE_INITIALIZER
    - ucl_schema_create_error
    - TREE_FIND
    - TREE_INSERT
    - LL_PREPEND
    - calloc
    linkageType: ''
    returnType: bool
    signature: bool ucl_schema_array_is_unique (const ucl_object_t *obj, struct ucl_schema_error
      *err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: LL_FOREACH_SAFE
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void LL_FOREACH_SAFE (nodes, node, tmp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:497,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:498,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:498,1
    - Dst: ucl_array_head
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:500,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:501,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:503,1
    - Dst: ucl_array_find_index
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:505,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:515,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:516,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:521,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:527,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:527,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:529,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:539,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:546,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:546,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:547,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:549,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:549,1
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:550,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:552,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:559,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:559,1
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:560,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:562,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:576,1
    - Dst: ucl_array_find_index
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:581,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:583,1
    - Dst: ucl_array_find_index
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:588,1
    - Dst: ucl_schema_array_is_unique
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:595,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 81
    argCount: 5
    argNames:
    - schema
    - obj
    - err
    - root
    - ext_ref
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 600
    functionName: ucl_schema_validate_array
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - ucl_schema_create_error
    - ucl_schema_validate
    - strcmp
    - ucl_object_toboolean
    - ucl_array_head
    - ucl_object_toint_safe
    - ucl_array_find_index
    - ucl_object_key
    - ucl_schema_array_is_unique
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_array (const ucl_object_t *schema,\n\t\tconst
      ucl_object_t *obj, struct ucl_schema_error *err,\n\t\tconst ucl_object_t *root,\n\t\tucl_object_t
      *ext_ref)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:621,1
    - Dst: ucl_schema_type_is_allowed
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:622,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:628,1
    - Dst: ucl_object_string_to_type
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:629,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:630,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:643,1
    - Dst: ucl_object_type_to_string
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:645,1
    - Dst: ucl_object_type_to_string
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:646,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - type
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 656
    functionName: ucl_schema_type_is_allowed
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 1
    functionsReached:
    - ucl_object_iterate
    - ucl_schema_type_is_allowed
    - ucl_object_string_to_type
    - ucl_schema_create_error
    - ucl_object_type_to_string
    - ucl_object_tostring
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_type_is_allowed (const ucl_object_t *type, const ucl_object_t
      *obj,\n\t\tstruct ucl_schema_error *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:669,1
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:670,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - en
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 661
    functionDepth: 5
    functionLinenumber: 661
    functionLinenumberEnd: 682
    functionName: ucl_schema_validate_enum
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_schema_create_error
    - ucl_object_compare
    - ucl_object_iterate
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_enum (const ucl_object_t *en, const ucl_object_t
      *obj,\n\t\tstruct ucl_schema_error *err)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:699,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:701,1
    - Dst: strtoul
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:708,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:710,1
    - Dst: ucl_array_head
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:714,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:723,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:730,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - cur
    - refc
    - len
    - err
    argTypes:
    - ucl_object_t*
    - char*
    - int
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 737
    functionName: ucl_schema_resolve_ref_component
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_lookup_len
    - strtoul
    - ucl_schema_create_error
    - ucl_array_head
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_schema_resolve_ref_component (const ucl_object_t
      *cur,\n\t\tconst char *refc, int len,\n\t\tstruct ucl_schema_error *err)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:756,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:759,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:762,1
    - Dst: ucl_strlcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:767,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:775,1
    - Dst: ucl_strnstr
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:778,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:778,1
    - Dst: ucl_fetch_url
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:779,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:781,1
    - Dst: utstring_body
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:786,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:788,1
    - Dst: ucl_fetch_file
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:794,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:796,1
    - Dst: utstring_body
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:801,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:803,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:809,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:811,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:812,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:814,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:815,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:816,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:821,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:823,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:824,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:827,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:855,1
    - Dst: ucl_schema_resolve_ref_component
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:860,1
    - Dst: ucl_schema_resolve_ref_component
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:870,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:874,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 81
    argCount: 5
    argNames:
    - root
    - ref
    - err
    - ext_ref
    - nroot
    argTypes:
    - ucl_object_t*
    - char*
    - struct ucl_schema_error*
    - ucl_object_t*
    - ucl_object_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 741
    functionDepth: 10
    functionLinenumber: 741
    functionLinenumberEnd: 881
    functionName: ucl_schema_resolve_ref
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - free
    - ucl_parser_get_object
    - ucl_fetch_url
    - ucl_parser_add_chunk
    - ucl_schema_resolve_ref_component
    - ucl_parser_free
    - strlen
    - ucl_schema_create_error
    - malloc
    - ucl_parser_get_error
    - ucl_strnstr
    - ucl_parser_new
    - ucl_object_insert_key
    - utstring_body
    - ucl_fetch_file
    - ucl_strlcpy
    - ucl_object_lookup
    - strrchr
    linkageType: ''
    returnType: ucl_object_t
    signature: "ucl_object_t *\nucl_schema_resolve_ref (const ucl_object_t *root,
      const char *ref,\n\t\tstruct ucl_schema_error *err, ucl_object_t *ext_ref,\n\t\tucl_object_t
      const ** nroot)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:890,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:892,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:897,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:906,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:908,1
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:919,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - schema
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 927
    functionName: ucl_schema_validate_values
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_schema_create_error
    - ucl_object_toint
    - ucl_object_lookup
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate_values (const ucl_object_t *schema, const
      ucl_object_t *obj,\n\t\tstruct ucl_schema_error *err)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ucl_schema_create_error
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:941,1
    - Dst: ucl_object_type_to_string
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:943,1
    - Dst: ucl_schema_validate_values
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:951,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:955,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:962,1
    - Dst: ucl_schema_validate_enum
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:964,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:969,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:972,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:973,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:980,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:983,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:984,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:998,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1002,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1004,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1006,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1016,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1018,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1027,1
    - Dst: ucl_schema_resolve_ref
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1030,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1030,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1036,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1042,1
    - Dst: ucl_schema_type_is_allowed
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1043,1
    - Dst: ucl_schema_validate_object
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1049,1
    - Dst: ucl_schema_validate_array
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1052,1
    - Dst: ucl_schema_validate_number
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1056,1
    - Dst: ucl_schema_validate_string
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1059,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 6
    argNames:
    - schema
    - obj
    - try_array
    - err
    - root
    - external_refs
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - bool
    - struct ucl_schema_error*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 929
    functionDepth: 11
    functionLinenumber: 929
    functionLinenumberEnd: 1066
    functionName: ucl_schema_validate
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 4
    functionsReached:
    - ucl_schema_resolve_ref
    - ucl_schema_validate_string
    - ucl_object_iterate
    - ucl_schema_type_is_allowed
    - ucl_schema_create_error
    - ucl_schema_validate_array
    - ucl_schema_validate_values
    - ucl_object_type_to_string
    - ucl_schema_validate
    - ucl_schema_validate_number
    - ucl_object_tostring
    - ucl_schema_validate_enum
    - ucl_object_lookup
    - ucl_schema_validate_object
    linkageType: ''
    returnType: bool
    signature: "bool ucl_schema_validate (const ucl_object_t *schema,\n\t\tconst ucl_object_t
      *obj, bool try_array,\n\t\tstruct ucl_schema_error *err,\n\t\tconst ucl_object_t
      *root,\n\t\tucl_object_t *external_refs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 12
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: LL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 7
    functionsReached:
    - ucl_schema_validate
    linkageType: ''
    returnType: void
    signature: void LL_FOREACH (obj, cur)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_validate_root_ext
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - schema
    - obj
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1073
    functionName: ucl_object_validate
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 2
    functionsReached:
    - ucl_object_validate_root_ext
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_validate (const ucl_object_t *schema,\n\t\tconst ucl_object_t
      *obj, struct ucl_schema_error *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_validate_root_ext
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - schema
    - obj
    - root
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1082
    functionName: ucl_object_validate_root
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 0
    functionsReached:
    - ucl_object_validate_root_ext
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_validate_root (const ucl_object_t *schema,\n\t\tconst
      ucl_object_t *obj,\n\t\tconst ucl_object_t *root,\n\t\tstruct ucl_schema_error
      *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1094,1
    - Dst: ucl_schema_validate
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1098,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/src/ucl_schema.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - schema
    - obj
    - root
    - ext_refs
    - err
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    - ucl_object_t*
    - ucl_object_t*
    - struct ucl_schema_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1084
    functionDepth: 12
    functionLinenumber: 1084
    functionLinenumberEnd: 1105
    functionName: ucl_object_validate_root_ext
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_schema.c
    functionUses: 3
    functionsReached:
    - ucl_object_unref
    - ucl_schema_validate
    - ucl_object_typed_new
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_validate_root_ext (const ucl_object_t *schema,\n\t\tconst
      ucl_object_t *obj,\n\t\tconst ucl_object_t *root,\n\t\tucl_object_t *ext_refs,\n\t\tstruct
      ucl_schema_error *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: UCL_EMIT_TYPE_OPS
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_EMIT_TYPE_OPS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: UCL_EMIT_TYPE_CONTENT
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_EMIT_TYPE_CONTENT(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: UCL_EMIT_IDENT_TOP_OBJ
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_EMIT_IDENT_TOP_OBJ(ctx, obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - func
    - tabs
    - compact
    argTypes:
    - struct ucl_emitter_functions*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: ucl_add_tabs
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_add_tabs (const struct ucl_emitter_functions *func, unsigned
      int tabs,\n\t\tbool compact)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ucl_elt_string_write_json
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:121,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:124,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:128,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:131,1
    - Dst: ucl_elt_string_write_json
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:136,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:139,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:142,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:145,1
    - Dst: ucl_elt_string_write_json
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:149,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:152,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:156,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - print_key
    - ctx
    - obj
    - compact
    argTypes:
    - bool
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 162
    functionName: ucl_emitter_print_key
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - ucl_elt_string_write_json
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_print_key (bool print_key, struct ucl_emitter_context
      *ctx,\n\t\tconst ucl_object_t *obj, bool compact)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:174,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:178,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - obj
    - compact
    - is_array
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 185
    functionName: ucl_emitter_finish_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_finish_object (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool compact, bool is_array)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_EMIT_IDENT_TOP_OBJ
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:198,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:201,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:206,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:208,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:209,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - obj
    - compact
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 214
    functionName: ucl_emitter_common_end_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - ucl_add_tabs
    - ucl_emitter_finish_object
    - UCL_EMIT_IDENT_TOP_OBJ
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_common_end_object (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool compact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:229,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:234,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:236,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:237,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - obj
    - compact
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: ucl_emitter_common_end_array
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - ucl_add_tabs
    - ucl_emitter_finish_object
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_common_end_array (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool compact)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:260,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:264,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:266,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:269,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:272,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:275,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:278,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:285,1
    - Dst: ucl_emitter_common_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:286,1
    - Dst: ucl_emitter_common_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - ctx
    - obj
    - first
    - print_key
    - compact
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 301
    functionName: ucl_emitter_common_start_array
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - ucl_object_iterate
    - ucl_add_tabs
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - ucl_emitter_print_key
    - ucl_emitter_common_elt
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_common_start_array (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool first, bool print_key, bool compact)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:320,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:324,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:326,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:329,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:332,1
    - Dst: UCL_EMIT_IDENT_TOP_OBJ
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:337,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:339,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:342,1
    - Dst: ucl_hash_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:347,1
    - Dst: ucl_emitter_common_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:351,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:359,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:362,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:365,1
    - Dst: ucl_emitter_common_start_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:366,1
    - Dst: ucl_emitter_common_end_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:367,1
    - Dst: ucl_emitter_common_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 5
    argNames:
    - ctx
    - obj
    - first
    - print_key
    - compact
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 376
    functionName: ucl_emitter_common_start_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached:
    - ucl_hash_iterate
    - ucl_emitter_common_end_array
    - ucl_add_tabs
    - UCL_EMIT_IDENT_TOP_OBJ
    - ucl_emitter_common_start_array
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - ucl_emitter_print_key
    - ucl_emitter_common_elt
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_common_start_object (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool first, bool print_key, bool compact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_common_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: LL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 7
    functionsReached:
    - ucl_emitter_common_elt
    linkageType: ''
    returnType: void
    signature: void LL_FOREACH (cur, elt)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:398,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:402,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:404,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:409,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:412,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:418,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:421,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:422,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:432,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_int
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:433,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:433,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:434,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:438,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_double
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:439,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:439,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:440,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:443,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:444,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:446,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:449,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:451,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:454,1
    - Dst: ucl_maybe_long_string
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:456,1
    - Dst: ucl_elt_string_write_multiline
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:457,1
    - Dst: ucl_elt_string_write_squoted
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:460,1
    - Dst: ucl_elt_string_write_json
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:462,1
    - Dst: ucl_elt_string_write_json
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:467,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:469,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:472,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:473,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:474,1
    - Dst: ucl_emitter_common_start_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:477,1
    - Dst: ucl_emitter_common_end_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:478,1
    - Dst: ucl_emitter_common_start_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:481,1
    - Dst: ucl_emitter_common_end_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:482,1
    - Dst: ucl_emitter_print_key
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:486,1
    - Dst: struct ucl_object_userdata*::emitter
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:488,1
    - Dst: ucl_elt_string_write_json
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:493,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:493,1
    - Dst: ucl_emitter_finish_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:494,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:500,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:503,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:506,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 5
    argNames:
    - ctx
    - obj
    - first
    - print_key
    - compact
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 510
    functionName: ucl_emitter_common_elt
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 3
    functionsReached:
    - strlen
    - ucl_object_toboolean
    - ucl_elt_string_write_squoted
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    - ucl_elt_string_write_multiline
    - ucl_emitter_common_end_array
    - ucl_add_tabs
    - ucl_emitter_common_start_array
    - ucl_object_lookup_len
    - ucl_elt_string_write_json
    - ucl_emitter_common_start_object
    - ucl_object_toint
    - struct ucl_emitter_functions*::ucl_emitter_append_int
    - ucl_maybe_long_string
    - ucl_emitter_common_end_object
    - struct ucl_object_userdata*::emitter
    - ucl_object_todouble
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - ucl_emitter_print_key
    - struct ucl_emitter_functions*::ucl_emitter_append_double
    - ucl_emitter_finish_object
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_common_elt (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool first, bool print_key, bool compact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:418,1
    - Dst: ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:421,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: DL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 1
    functionsReached:
    - ucl_add_tabs
    - ucl_emitter_append_len
    - ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH (comment, cur_comment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:500,1
    - Dst: ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:503,1
    - Dst: ucl_add_tabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 508
    functionName: DL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 1
    functionsReached:
    - ucl_add_tabs
    - ucl_emitter_append_len
    - ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH (comment, cur_comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - compact
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 536
    functionName: UCL_EMIT_TYPE_IMPL
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_EMIT_TYPE_IMPL(type, compact)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:553,1
    - Dst: ucl_emitter_print_int_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:554,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:554,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:559,1
    - Dst: ucl_emitter_print_double_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:560,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:560,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:564,1
    - Dst: ucl_emitter_print_bool_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:565,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:565,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:569,1
    - Dst: ucl_emitter_print_binary_string_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:572,1
    - Dst: ucl_emitter_print_string_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:576,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:581,1
    - Dst: ucl_emitter_print_null_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:582,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:586,1
    - Dst: ucl_emit_msgpack_start_obj
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:587,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:590,1
    - Dst: ucl_emit_msgpack_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:592,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:605,1
    - Dst: ucl_emit_msgpack_start_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:606,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:609,1
    - Dst: ucl_emit_msgpack_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:610,1
    - Dst: ucl_emitter_print_key_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:617,1
    - Dst: struct ucl_object_userdata*::emitter
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:620,1
    - Dst: ucl_emitter_print_string_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:625,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - ctx
    - obj
    - _first
    - print_key
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 628
    functionName: ucl_emit_msgpack_elt
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 1
    functionsReached:
    - ucl_emitter_print_double_msgpack
    - ucl_emit_msgpack_start_obj
    - ucl_object_iterate
    - struct ucl_object_userdata*::emitter
    - ucl_object_todouble
    - ucl_emit_msgpack_elt
    - ucl_emitter_print_string_msgpack
    - ucl_object_toboolean
    - ucl_emitter_print_key_msgpack
    - ucl_emitter_print_null_msgpack
    - ucl_emitter_print_int_msgpack
    - ucl_emit_msgpack_start_array
    - ucl_emitter_print_binary_string_msgpack
    - ucl_emitter_print_bool_msgpack
    - ucl_object_toint
    linkageType: ''
    returnType: void
    signature: "void ucl_emit_msgpack_elt (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool _first, bool print_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emit_msgpack_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: LL_FOREACH
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 7
    functionsReached:
    - ucl_emit_msgpack_elt
    linkageType: ''
    returnType: void
    signature: void LL_FOREACH (cur, celt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_print_object_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - obj
    - _first
    - _print_key
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: ucl_emit_msgpack_start_obj
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 1
    functionsReached:
    - ucl_emitter_print_object_msgpack
    linkageType: ''
    returnType: void
    signature: "void ucl_emit_msgpack_start_obj (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool _first, bool _print_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_print_array_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - obj
    - _first
    - _print_key
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: ucl_emit_msgpack_start_array
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 1
    functionsReached:
    - ucl_emitter_print_array_msgpack
    linkageType: ''
    returnType: void
    signature: "void ucl_emit_msgpack_start_array (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj, bool _first, bool _print_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 649
    functionName: ucl_emit_msgpack_end_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ucl_emit_msgpack_end_object (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: ucl_emit_msgpack_end_array
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ucl_emit_msgpack_end_array (struct ucl_emitter_context *ctx,\n\t\tconst
      ucl_object_t *obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_emit_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - emit_type
    argTypes:
    - ucl_object_t*
    - enum ucl_emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: ucl_object_emit
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 3
    functionsReached:
    - ucl_object_emit_len
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      ucl_object_emit (const ucl_object_t *obj, enum ucl_emitter emit_type)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_emit_memory_funcs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:676,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:680,1
    - Dst: ucl_object_emit_funcs_free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - emit_type
    - outlen
    argTypes:
    - ucl_object_t*
    - enum ucl_emitter
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 690
    functionName: ucl_object_emit_len
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 3
    functionsReached:
    - ucl_object_emit_full
    - ucl_object_emit_funcs_free
    - ucl_object_emit_memory_funcs
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nucl_object_emit_len (const ucl_object_t *obj, enum
      ucl_emitter emit_type,\n\t\tsize_t *outlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emit_get_standard_context
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:701,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:703,1
    - Dst: struct ucl_emitter_context::ops::ucl_emitter_write_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - obj
    - emit_type
    - emitter
    - comments
    argTypes:
    - ucl_object_t*
    - enum ucl_emitter
    - struct ucl_emitter_functions*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 714
    functionName: ucl_object_emit_full
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter.c
    functionUses: 3
    functionsReached:
    - ucl_emit_get_standard_context
    - memcpy
    - struct ucl_emitter_context::ops::ucl_emitter_write_elt
    linkageType: ''
    returnType: bool
    signature: "bool ucl_object_emit_full (const ucl_object_t *obj, enum ucl_emitter
      emit_type,\n\t\tstruct ucl_emitter_functions *emitter,\n\t\tconst ucl_object_t
      *comments)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: SWAP_LE_BE16
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE_BE16(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: SWAP_LE_BE32
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE_BE32(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: SWAP_LE_BE64
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE_BE64(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: SWAP_LE_BE32
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE_BE32(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: SWAP_LE_BE64
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_LE_BE64(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: TO_BE16
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_BE16(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: TO_BE32
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_BE32(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: TO_BE64
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_BE64(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: FROM_BE16
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_BE16(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: FROM_BE32
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_BE32(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: FROM_BE64
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_BE64(val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TO_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:122,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:126,1
    - Dst: TO_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:129,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:133,1
    - Dst: TO_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:136,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:140,1
    - Dst: TO_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:159,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:163,1
    - Dst: TO_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:166,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:170,1
    - Dst: TO_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:173,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:177,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - struct ucl_emitter_context*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 182
    functionName: ucl_emitter_print_int_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - TO_BE16
    - memcpy
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - TO_BE64
    - TO_BE32
    linkageType: ''
    returnType: void
    signature: void ucl_emitter_print_int_msgpack (struct ucl_emitter_context *ctx,
      int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:197,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:200,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - struct ucl_emitter_context*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: ucl_emitter_print_double_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - TO_BE64
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ucl_emitter_print_double_msgpack (struct ucl_emitter_context *ctx,
      double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - struct ucl_emitter_context*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: ucl_emitter_print_bool_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: void ucl_emitter_print_bool_msgpack (struct ucl_emitter_context *ctx,
      bool val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TO_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:232,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:236,1
    - Dst: TO_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:239,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:243,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:246,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - s
    - len
    argTypes:
    - struct ucl_emitter_context*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 248
    functionName: ucl_emitter_print_string_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - TO_BE16
    - memcpy
    - TO_BE32
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_print_string_msgpack (struct ucl_emitter_context
      *ctx,\n\t\tconst char *s, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TO_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:265,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:269,1
    - Dst: TO_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:272,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:276,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:279,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - s
    - len
    argTypes:
    - struct ucl_emitter_context*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 281
    functionName: ucl_emitter_print_binary_string_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - TO_BE16
    - memcpy
    - TO_BE32
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_print_binary_string_msgpack (struct ucl_emitter_context
      *ctx,\n\t\tconst char *s, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ucl_emitter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: ucl_emitter_print_null_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: void ucl_emitter_print_null_msgpack (struct ucl_emitter_context *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emitter_print_string_msgpack
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - print_key
    - ctx
    - obj
    argTypes:
    - bool
    - struct ucl_emitter_context*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: ucl_emitter_print_key_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - ucl_emitter_print_string_msgpack
    linkageType: ''
    returnType: void
    signature: "void ucl_emitter_print_key_msgpack (bool print_key, struct ucl_emitter_context
      *ctx,\n\t\tconst ucl_object_t *obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TO_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:314,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:318,1
    - Dst: TO_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:321,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:325,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - struct ucl_emitter_context*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 329
    functionName: ucl_emitter_print_array_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - TO_BE16
    - memcpy
    - TO_BE32
    linkageType: ''
    returnType: void
    signature: void ucl_emitter_print_array_msgpack (struct ucl_emitter_context *ctx,
      size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TO_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:344,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:348,1
    - Dst: TO_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:351,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:355,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - len
    argTypes:
    - struct ucl_emitter_context*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: ucl_emitter_print_object_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - TO_BE16
    - memcpy
    - TO_BE32
    linkageType: ''
    returnType: void
    signature: void ucl_emitter_print_object_msgpack (struct ucl_emitter_context *ctx,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - t
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 759
    functionName: ucl_msgpack_get_parser_from_type
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ucl_msgpack_parser
    signature: 'struct ucl_msgpack_parser *

      ucl_msgpack_get_parser_from_type (unsigned char t)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:767,1
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:774,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:777,1
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:784,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:787,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:801,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:805,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - parser
    - obj_parser
    - len
    argTypes:
    - struct ucl_parser*
    - struct ucl_msgpack_parser*
    - uint64_t
    assertStmts:
    - condition: (obj_parser != NULL)
      pos:
        line_end: 766
        line_start: 766
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 822
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 822
    functionName: ucl_msgpack_get_container
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - ucl_create_err
    - calloc
    linkageType: ''
    returnType: struct ucl_stack
    signature: "struct ucl_stack *\nucl_msgpack_get_container (struct ucl_parser *parser,\n\t\tstruct
      ucl_msgpack_parser *obj_parser, uint64_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - container
    argTypes:
    - struct ucl_stack*
    assertStmts:
    - condition: (container != NULL)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 835
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 835
    functionName: ucl_msgpack_is_container_finished
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool ucl_msgpack_is_container_finished (struct ucl_stack *container)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:845,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:846,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:847,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:848,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:851,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:855,1
    - Dst: ucl_copy_key_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:863,1
    - Dst: ucl_parser_process_object_element
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:866,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - parser
    - key
    - keylen
    - obj
    argTypes:
    - struct ucl_parser*
    - unsigned char*
    - size_t
    - ucl_object_t*
    assertStmts:
    - condition: (container != NULL)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - condition: (container->obj != NULL)
      pos:
        line_end: 847
        line_start: 847
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - condition: (container->e.len > 0)
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - condition: (obj != NULL)
      pos:
        line_end: 846
        line_start: 846
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 876
      start: 837
    functionDepth: 6
    functionLinenumber: 837
    functionLinenumberEnd: 876
    functionName: ucl_msgpack_insert_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_parser_process_object_element
    - ucl_create_err
    - assert
    - ucl_copy_key_trash
    - ucl_array_append
    linkageType: ''
    returnType: bool
    signature: "bool ucl_msgpack_insert_object (struct ucl_parser *parser,\n\t\tconst
      unsigned char *key,\n\t\tsize_t keylen, ucl_object_t *obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:896,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:901,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:904,1
    - Dst: ucl_msgpack_get_next_container
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:907,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts:
    - condition: (cur->obj != NULL)
      pos:
        line_end: 914
        line_start: 914
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 918
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 918
    functionName: ucl_msgpack_get_next_container
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - free
    - ucl_msgpack_get_next_container
    - assert
    - fprintf
    linkageType: ''
    returnType: struct ucl_stack
    signature: 'struct ucl_stack *

      ucl_msgpack_get_next_container (struct ucl_parser *parser)'
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ucl_msgpack_get_parser_from_type
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:982,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:985,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:998,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1025,1
    - Dst: FROM_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1039,1
    - Dst: FROM_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1042,1
    - Dst: FROM_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1045,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1048,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1071,1
    - Dst: ucl_msgpack_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1074,1
    - Dst: ucl_msgpack_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1079,1
    - Dst: struct ucl_msgpack_parser*::func
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1085,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1102,1
    - Dst: ucl_msgpack_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1105,1
    - Dst: ucl_msgpack_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1110,1
    - Dst: struct ucl_msgpack_parser*::func
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1116,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1138,1
    - Dst: struct ucl_msgpack_parser*::func
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1143,1
    - Dst: ucl_msgpack_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1149,1
    - Dst: ucl_msgpack_is_container_finished
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1154,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1170,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1180,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1199,1
    - Dst: struct ucl_msgpack_parser*::func
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1204,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1208,1
    - Dst: ucl_msgpack_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1210,1
    - Dst: ucl_msgpack_is_container_finished
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1219,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1236,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1248,1
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1255,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1260,1
    - Dst: ucl_msgpack_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1265,1
    - Dst: ucl_msgpack_get_container
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1270,1
    - Dst: struct ucl_msgpack_parser*::func
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1276,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1283,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1291,1
    - Dst: struct ucl_msgpack_parser*::func
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1296,1
    - Dst: ucl_msgpack_insert_object
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1302,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1314,1
    - Dst: ucl_msgpack_get_next_container
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1321,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1324,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 222
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts:
    - condition: (key != NULL && keylen > 0)
      pos:
        line_end: 1207
        line_start: 1207
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 1330
      start: 947
    functionDepth: 7
    functionLinenumber: 947
    functionLinenumberEnd: 1330
    functionName: ucl_msgpack_consume
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - struct ucl_msgpack_parser*::func
    - FROM_BE64
    - ucl_object_new_full
    - ucl_msgpack_get_next_container
    - ucl_create_err
    - ucl_msgpack_get_parser_from_type
    - ucl_msgpack_is_container_finished
    - assert
    - ucl_msgpack_get_container
    - ucl_msgpack_insert_object
    - FROM_BE16
    - FROM_BE32
    linkageType: ''
    returnType: bool
    signature: bool ucl_msgpack_consume (struct ucl_parser *parser)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1339,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1340,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1341,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1342,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1357,1
    - Dst: ucl_msgpack_consume
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts:
    - condition: (parser != NULL)
      pos:
        line_end: 1338
        line_start: 1338
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - condition: (parser->chunks->begin != NULL)
      pos:
        line_end: 1340
        line_start: 1340
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - condition: (parser->chunks != NULL)
      pos:
        line_end: 1339
        line_start: 1339
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - condition: (parser->chunks->remain != 0)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 1369
      start: 1332
    functionDepth: 8
    functionLinenumber: 1332
    functionLinenumberEnd: 1369
    functionName: ucl_parse_msgpack
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 1
    functionsReached:
    - ucl_msgpack_consume
    - assert
    - ucl_create_err
    linkageType: ''
    returnType: bool
    signature: bool ucl_parse_msgpack (struct ucl_parser *parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1379
    functionName: ucl_msgpack_parse_map
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_map (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1389
    functionName: ucl_msgpack_parse_array
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_array (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1402,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1412,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1415,1
    - Dst: ucl_copy_value_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1426
    functionName: ucl_msgpack_parse_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - malloc
    - ucl_copy_value_trash
    - memcpy
    - ucl_object_new_full
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_string (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1447,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1463,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1468,1
    - Dst: FROM_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1469,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1474,1
    - Dst: FROM_BE16
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1475,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1480,1
    - Dst: FROM_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1481,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1486,1
    - Dst: FROM_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1487,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1492,1
    - Dst: FROM_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1493,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1498,1
    - Dst: FROM_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1499,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1504,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1503
        line_start: 1503
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 1511
      start: 1428
    functionDepth: 2
    functionLinenumber: 1428
    functionLinenumberEnd: 1511
    functionName: ucl_msgpack_parse_int
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - FROM_BE64
    - ucl_object_new_full
    - memcpy
    - assert
    - FROM_BE16
    - FROM_BE32
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_int (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1529,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1533,1
    - Dst: FROM_BE32
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1534,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1540,1
    - Dst: FROM_BE64
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1541,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1545
        line_start: 1545
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 1553
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1553
    functionName: ucl_msgpack_parse_float
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - FROM_BE64
    - ucl_object_new_full
    - memcpy
    - assert
    - FROM_BE32
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_float (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1566,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1575
        line_start: 1575
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    constantsTouched: []
    func_position:
      end: 1583
      start: 1555
    functionDepth: 2
    functionLinenumber: 1555
    functionLinenumberEnd: 1583
    functionName: ucl_msgpack_parse_bool
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - assert
    - ucl_object_new_full
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_bool (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new_full
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1600
    functionName: ucl_msgpack_parse_null
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_object_new_full
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_null (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_msgpack.c:1633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 6
    argNames:
    - parser
    - container
    - len
    - fmt
    - pos
    - remain
    argTypes:
    - struct ucl_parser*
    - struct ucl_stack*
    - size_t
    - enum ucl_msgpack_format
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1638
    functionName: ucl_msgpack_parse_ignore
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    functionUses: 0
    functionsReached:
    - ucl_create_err
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ucl_msgpack_parse_ignore (struct ucl_parser *parser,\n\t\tstruct
      ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst unsigned
      char *pos, size_t remain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hl
    - ','
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: ucl_hash_iterate
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ucl_hash_iterate(hl, ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: _ucl_emitter_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _ucl_emitter_free(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - emit_type
    argTypes:
    - enum ucl_emitter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: ucl_emit_get_standard_context
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ucl_emitter_context
    signature: 'struct ucl_emitter_context *

      ucl_emit_get_standard_context (enum ucl_emitter emit_type)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:109,1
    - Dst: ucl_test_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:112,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:116,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:120,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:123,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:126,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:129,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:132,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:135,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:138,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:141,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:144,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:148,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:162,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:165,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - str
    - size
    - ctx
    argTypes:
    - char*
    - size_t
    - struct ucl_emitter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 166
    functionName: ucl_elt_string_write_json
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 2
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - ucl_test_character
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_elt_string_write_json (const char *str, size_t size,\n\t\tstruct
      ucl_emitter_context *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:176,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:181,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:186,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:196,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_character
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - str
    - size
    - ctx
    argTypes:
    - char*
    - size_t
    - struct ucl_emitter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: ucl_elt_string_write_squoted
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    - struct ucl_emitter_functions*::ucl_emitter_append_character
    linkageType: ''
    returnType: void
    signature: "void ucl_elt_string_write_squoted (const char *str, size_t size,\n\t\tstruct
      ucl_emitter_context *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:208,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:209,1
    - Dst: struct ucl_emitter_functions*::ucl_emitter_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - str
    - size
    - ctx
    argTypes:
    - char*
    - size_t
    - struct ucl_emitter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: ucl_elt_string_write_multiline
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 1
    functionsReached:
    - struct ucl_emitter_functions*::ucl_emitter_append_len
    linkageType: ''
    returnType: void
    signature: "void ucl_elt_string_write_multiline (const char *str, size_t size,\n\t\tstruct
      ucl_emitter_context *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utstring_append_c
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:222,1
    - Dst: utstring_reserve
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:225,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - c
    - len
    - ud
    argTypes:
    - unsigned char
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 232
    functionName: ucl_utstring_append_character
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - utstring_append_c
    - utstring_reserve
    - memset
    linkageType: ''
    returnType: int
    signature: int ucl_utstring_append_character (unsigned char c, size_t len, void
      *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: ucl_utstring_append_len
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - utstring_append_len
    linkageType: ''
    returnType: int
    signature: int ucl_utstring_append_len (const unsigned char *str, size_t len,
      void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utstring_printf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - ud
    argTypes:
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: ucl_utstring_append_int
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - utstring_printf
    linkageType: ''
    returnType: int
    signature: int ucl_utstring_append_int (int64_t val, void *ud)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utstring_printf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:260,1
    - Dst: fabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:262,1
    - Dst: utstring_printf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:264,1
    - Dst: utstring_printf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - val
    - ud
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: ucl_utstring_append_double
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - utstring_printf
    - fabs
    linkageType: ''
    returnType: int
    signature: int ucl_utstring_append_double (double val, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - c
    - len
    - ud
    argTypes:
    - unsigned char
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: ucl_file_append_character
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: int
    signature: int ucl_file_append_character (unsigned char c, size_t len, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: ucl_file_append_len
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int ucl_file_append_len (const unsigned char *str, size_t len, void
      *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - ud
    argTypes:
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: ucl_file_append_int
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int ucl_file_append_int (int64_t val, void *ud)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:315,1
    - Dst: fabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:317,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:319,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - val
    - ud
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: ucl_file_append_double
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - fabs
    - fprintf
    linkageType: ''
    returnType: int
    signature: int ucl_file_append_double (double val, void *ud)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:338,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:341,1
    - Dst: write
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:345,1
    - Dst: memset
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:351,1
    - Dst: write
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:352,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:353,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - c
    - len
    - ud
    argTypes:
    - unsigned char
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 361
    functionName: ucl_fd_append_character
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - free
    - write
    - malloc
    - memset
    linkageType: ''
    returnType: int
    signature: int ucl_fd_append_character (unsigned char c, size_t len, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - len
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: ucl_fd_append_len
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int ucl_fd_append_len (const unsigned char *str, size_t len, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:377,1
    - Dst: write
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:378,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - ud
    argTypes:
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: ucl_fd_append_int
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - strlen
    - write
    - snprintf
    linkageType: ''
    returnType: int
    signature: int ucl_fd_append_int (int64_t val, void *ud)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:389,1
    - Dst: fabs
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:391,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:393,1
    - Dst: snprintf
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:396,1
    - Dst: write
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:399,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - val
    - ud
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: ucl_fd_append_double
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 0
    functionsReached:
    - strlen
    - fabs
    - write
    - snprintf
    linkageType: ''
    returnType: int
    signature: int ucl_fd_append_double (double val, void *ud)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:408,1
    - Dst: utstring_new
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - pmem
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 423
    functionName: ucl_object_emit_memory_funcs
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 3
    functionsReached:
    - utstring_new
    - calloc
    linkageType: ''
    returnType: struct ucl_emitter_functions
    signature: 'struct ucl_emitter_functions *

      ucl_object_emit_memory_funcs (void **pmem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 442
    functionName: ucl_object_emit_file_funcs
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct ucl_emitter_functions
    signature: 'struct ucl_emitter_functions *

      ucl_object_emit_file_funcs (FILE *fp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:450,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:453,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:455,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: ucl_object_emit_fd_funcs
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 1
    functionsReached:
    - free
    - malloc
    - memcpy
    - calloc
    linkageType: ''
    returnType: struct ucl_emitter_functions
    signature: 'struct ucl_emitter_functions *

      ucl_object_emit_fd_funcs (int fd)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ucl_emitter_functions*::ucl_emitter_free_func
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:476,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct ucl_emitter_functions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 480
    functionName: ucl_object_emit_funcs_free
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 4
    functionsReached:
    - free
    - struct ucl_emitter_functions*::ucl_emitter_free_func
    linkageType: ''
    returnType: void
    signature: void ucl_object_emit_funcs_free (struct ucl_emitter_functions *f)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: utstring_new
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:493,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:498,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:501,1
    - Dst: ucl_utstring_append_int
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:504,1
    - Dst: ucl_utstring_append_double
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:508,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:511,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:515,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:518,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:522,1
    - Dst: ucl_utstring_append_len
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:525,1
    - Dst: utstring_body
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:528,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:529,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 533
    functionName: ucl_object_emit_single_json
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 1
    functionsReached:
    - free
    - ucl_utstring_append_int
    - utstring_new
    - ucl_utstring_append_double
    - utstring_body
    - ucl_utstring_append_len
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      ucl_object_emit_single_json (const ucl_object_t *obj)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: ucl_maybe_long_string
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
    functionUses: 1
    functionsReached:
    - memchr
    linkageType: ''
    returnType: bool
    signature: bool ucl_maybe_long_string (const ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: TO_STREAMLINE
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_STREAMLINE(ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_emit_get_standard_context
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:70,1
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:75,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:80,1
    - Dst: ucl_object_emit_streamline_start_container
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - emit_type
    - emitter
    argTypes:
    - ucl_object_t*
    - enum ucl_emitter
    - struct ucl_emitter_functions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 88
    functionName: ucl_object_emit_streamline_new
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    functionUses: 1
    functionsReached:
    - ucl_emit_get_standard_context
    - memcpy
    - calloc
    - ucl_object_emit_streamline_start_container
    linkageType: ''
    returnType: struct ucl_emitter_context
    signature: "struct ucl_emitter_context *\nucl_object_emit_streamline_new (const
      ucl_object_t *obj,\n\t\tenum ucl_emitter emit_type,\n\t\tstruct ucl_emitter_functions
      *emitter)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TO_STREAMLINE
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:94,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:104,1
    - Dst: struct ucl_emitter_context_streamline*::ops::ucl_emitter_start_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:114,1
    - Dst: struct ucl_emitter_context_streamline*::ops::ucl_emitter_start_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:118,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: ucl_object_emit_streamline_start_container
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    functionUses: 2
    functionsReached:
    - TO_STREAMLINE
    - struct ucl_emitter_context_streamline*::ops::ucl_emitter_start_object
    - malloc
    - struct ucl_emitter_context_streamline*::ops::ucl_emitter_start_array
    - LL_PREPEND
    linkageType: ''
    returnType: void
    signature: "void ucl_object_emit_streamline_start_container (struct ucl_emitter_context
      *ctx,\n\t\tconst ucl_object_t *obj)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TO_STREAMLINE
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:128,1
    - Dst: struct ucl_emitter_context_streamline*::ops::ucl_emitter_write_elt
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - obj
    argTypes:
    - struct ucl_emitter_context*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: ucl_object_emit_streamline_add_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    functionUses: 1
    functionsReached:
    - TO_STREAMLINE
    - struct ucl_emitter_context_streamline*::ops::ucl_emitter_write_elt
    linkageType: ''
    returnType: void
    signature: "void ucl_object_emit_streamline_add_object (\n\t\tstruct ucl_emitter_context
      *ctx, const ucl_object_t *obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TO_STREAMLINE
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:147,1
    - Dst: struct ucl_emitter_context_streamline*::ops::ucl_emitter_end_array
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:154,1
    - Dst: struct ucl_emitter_context_streamline*::ops::ucl_emitter_end_object
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:157,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ucl_emitter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: ucl_object_emit_streamline_end_container
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    functionUses: 1
    functionsReached:
    - free
    - struct ucl_emitter_context_streamline*::ops::ucl_emitter_end_array
    - TO_STREAMLINE
    - struct ucl_emitter_context_streamline*::ops::ucl_emitter_end_object
    linkageType: ''
    returnType: void
    signature: void ucl_object_emit_streamline_end_container (struct ucl_emitter_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TO_STREAMLINE
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:167,1
    - Dst: ucl_object_emit_streamline_end_container
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:170,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ucl_emitter_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: ucl_object_emit_streamline_finish
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    functionUses: 1
    functionsReached:
    - free
    - TO_STREAMLINE
    - ucl_object_emit_streamline_end_container
    linkageType: ''
    returnType: void
    signature: void ucl_object_emit_streamline_finish (struct ucl_emitter_context
      *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: _MUM_OPTIMIZE
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _MUM_OPTIMIZE(opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: _MUM_TARGET
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _MUM_TARGET(opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - v
    - p
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 150
    functionName: _mum
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _mum (uint64_t v, uint64_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: _mum_bswap_32
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: _mum_bswap_64
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: _mum_bswap_32
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: _mum_bswap_64
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: _mum_bswap32
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: _mum_bswap64
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: _mum_bswap32
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: _mum_bswap64
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mum_bswap64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mum_bswap64
      Src: /src/rtpproxy/external/libucl/src/mum.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: _mum_le
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum_bswap64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _mum_le (uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mum_bswap32
      Src: /src/rtpproxy/external/libucl/src/mum.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: _mum_le32
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum_bswap32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t _mum_le32 (uint32_t v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:224,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:230,1
    - Dst: _mum_le
      Src: /src/rtpproxy/external/libucl/src/mum.h:230,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:235,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:239,1
    - Dst: _mum_le
      Src: /src/rtpproxy/external/libucl/src/mum.h:239,1
    - Dst: _mum_le32
      Src: /src/rtpproxy/external/libucl/src/mum.h:243,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:247,1
    - Dst: _mum_le32
      Src: /src/rtpproxy/external/libucl/src/mum.h:249,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:252,1
    - Dst: _mum_le32
      Src: /src/rtpproxy/external/libucl/src/mum.h:254,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:256,1
    - Dst: _mum_le32
      Src: /src/rtpproxy/external/libucl/src/mum.h:258,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:259,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:264,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:268,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 3
    argNames:
    - start
    - key
    - len
    argTypes:
    - uint64_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 274
    functionName: _mum_hash_aligned
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum
    - _mum_le32
    - _mum_le
    linkageType: ''
    returnType: void
    signature: void _mum_hash_aligned (uint64_t start, const void *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:279,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: _mum_final
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _mum_final (uint64_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mum_final
      Src: /src/rtpproxy/external/libucl/src/mum.h:292,1
    - Dst: _mum_hash_aligned
      Src: /src/rtpproxy/external/libucl/src/mum.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: _mum_hash_avx2
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum_final
    - _mum_hash_aligned
    linkageType: ''
    returnType: void
    signature: void _mum_hash_avx2 (const void * key, size_t len, uint64_t seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mum_hash_aligned
      Src: /src/rtpproxy/external/libucl/src/mum.h:330,1
    - Dst: memmove
      Src: /src/rtpproxy/external/libucl/src/mum.h:334,1
    - Dst: _mum_hash_aligned
      Src: /src/rtpproxy/external/libucl/src/mum.h:335,1
    - Dst: _mum_final
      Src: /src/rtpproxy/external/libucl/src/mum.h:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - key
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 341
    functionName: _mum_hash_default
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum_final
    - _mum_hash_aligned
    - memmove
    linkageType: ''
    returnType: void
    signature: void _mum_hash_default (const void *key, size_t len, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/rtpproxy/external/libucl/src/mum.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: _mum_next_factor
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t _mum_next_factor (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/rtpproxy/external/libucl/src/mum.h:360,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:361,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:362,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:363,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:364,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:365,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:366,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:367,1
    - Dst: _mum_next_factor
      Src: /src/rtpproxy/external/libucl/src/mum.h:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: mum_hash_randomize
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - srand
    - _mum_next_factor
    linkageType: ''
    returnType: void
    signature: void mum_hash_randomize (uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: mum_hash_init
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mum_hash_init (uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:382,1
    - Dst: _mum
      Src: /src/rtpproxy/external/libucl/src/mum.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - key
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: mum_hash_step
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mum_hash_step (uint64_t h, uint64_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mum_final
      Src: /src/rtpproxy/external/libucl/src/mum.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: mum_hash_finish
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum_final
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mum_hash_finish (uint64_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mum_hash_finish
      Src: /src/rtpproxy/external/libucl/src/mum.h:395,1
    - Dst: mum_hash_step
      Src: /src/rtpproxy/external/libucl/src/mum.h:395,1
    - Dst: mum_hash_init
      Src: /src/rtpproxy/external/libucl/src/mum.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - seed
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: mum_hash64
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - mum_hash_step
    - mum_hash_finish
    - mum_hash_init
    linkageType: ''
    returnType: size_t
    signature: size_t mum_hash64 (uint64_t key, uint64_t seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mum_hash_avx2
      Src: /src/rtpproxy/external/libucl/src/mum.h:406,1
    - Dst: __builtin_cpu_init
      Src: /src/rtpproxy/external/libucl/src/mum.h:408,1
    - Dst: __builtin_cpu_supports
      Src: /src/rtpproxy/external/libucl/src/mum.h:409,1
    - Dst: _mum_hash_avx2
      Src: /src/rtpproxy/external/libucl/src/mum.h:411,1
    - Dst: _mum_hash_default
      Src: /src/rtpproxy/external/libucl/src/mum.h:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - key
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: mum_hash
    functionSourceFile: /src/rtpproxy/external/libucl/src/mum.h
    functionUses: 0
    functionsReached:
    - _mum_hash_avx2
    - __builtin_cpu_init
    - _mum_hash_default
    - __builtin_cpu_supports
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mum_hash (const void *key, size_t len, uint64_t seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: ucl_hash_seed
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ucl_hash_seed (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mum_hash
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:105,1
    - Dst: ucl_hash_seed
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - o
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: ucl_hash_func
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - mum_hash
    - ucl_hash_seed
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ucl_hash_func (const ucl_object_t *o)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: ucl_hash_equal
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ucl_hash_equal (const ucl_object_t *k1, const ucl_object_t *k2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_seed
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:136,1
    - Dst: mum_hash_step
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:149,1
    - Dst: mum_hash_step
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:174,1
    - Dst: mum_hash_finish
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - o
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 179
    functionName: ucl_hash_caseless_func
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - mum_hash_step
    - mum_hash_finish
    - ucl_hash_seed
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ucl_hash_caseless_func (const ucl_object_t *o)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 227
    functionName: ucl_hash_caseless_equal
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ucl_hash_caseless_equal (const ucl_object_t *k1, const ucl_object_t
      *k2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UCL_ALLOC::UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:237,1
    - Dst: kh_init
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:243,1
    - Dst: kh_init
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ignore_case
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 255
    functionName: ucl_hash_create
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 2
    functionsReached:
    - kh_init
    - UCL_ALLOC::UCL_ALLOC
    linkageType: ''
    returnType: ucl_hash_t
    signature: 'ucl_hash_t *

      ucl_hash_create (bool ignore_case)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:266,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:266,1
    - Dst: kh_begin
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:271,1
    - Dst: kh_end
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:271,1
    - Dst: kh_exist
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:272,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:273,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:284,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:284,1
    - Dst: kh_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:286,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:289,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:289,1
    - Dst: kh_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:291,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:296,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:297,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - hashlin
    - func
    argTypes:
    - ucl_hash_t*
    - ucl_hash_free_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 301
    functionName: ucl_hash_destroy
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 2
    functionsReached:
    - kh_exist
    - UCL_FREE
    - khash_t
    - kh_begin
    - DL_FOREACH_SAFE
    - kh_value
    - kh_end
    - kh_destroy
    linkageType: ''
    returnType: void
    signature: void ucl_hash_destroy (ucl_hash_t* hashlin, ucl_hash_free_func func)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:316,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:316,1
    - Dst: kh_put
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:318,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:320,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:321,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:323,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:331,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:331,1
    - Dst: kh_put
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:333,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:335,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:336,1
    - Dst: DL_APPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - hashlin
    - obj
    - key
    - keylen
    argTypes:
    - ucl_hash_t*
    - ucl_object_t*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 347
    functionName: ucl_hash_insert
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - khash_t
    - DL_APPEND
    - kh_put
    - UCL_ALLOC
    - kh_value
    linkageType: ''
    returnType: bool
    signature: "bool ucl_hash_insert (ucl_hash_t* hashlin, const ucl_object_t *obj,\n\t\tconst
      char *key, unsigned keylen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:361,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:361,1
    - Dst: kh_put
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:363,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:365,1
    - Dst: kh_del
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:366,1
    - Dst: kh_put
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:367,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:368,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:370,1
    - Dst: DL_REPLACE_ELEM
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:371,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:372,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:376,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:376,1
    - Dst: kh_put
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:378,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:380,1
    - Dst: kh_del
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:381,1
    - Dst: kh_put
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:382,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:383,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:385,1
    - Dst: DL_REPLACE_ELEM
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:386,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - hashlin
    - old
    - new
    argTypes:
    - ucl_hash_t*
    - ucl_object_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 390
    functionName: ucl_hash_replace
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 5
    functionsReached:
    - UCL_FREE
    - khash_t
    - kh_put
    - kh_del
    - UCL_ALLOC
    - kh_value
    - DL_REPLACE_ELEM
    linkageType: ''
    returnType: void
    signature: "void ucl_hash_replace (ucl_hash_t* hashlin, const ucl_object_t *old,\n\t\tconst
      ucl_object_t *new)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ep
    - ','
    - ern
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: UHI_SETERR
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UHI_SETERR(ep, ern)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UHI_SETERR
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:405,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:410,1
    - Dst: UHI_SETERR
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:413,1
    - Dst: UHI_SETERR
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:420,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - hashlin
    - iter
    - ep
    argTypes:
    - ucl_hash_t*
    - ucl_hash_iter_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 434
    functionName: ucl_hash_iterate2
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 1
    functionsReached:
    - UCL_ALLOC
    - UHI_SETERR
    - UCL_FREE
    linkageType: ''
    returnType: void
    signature: 'void *

      ucl_hash_iterate2 (ucl_hash_t *hashlin, ucl_hash_iter_t *iter, int *ep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hashlin
    - iter
    argTypes:
    - ucl_hash_t*
    - ucl_hash_iter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: ucl_hash_iter_has_next
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_hash_iter_has_next (ucl_hash_t *hashlin, ucl_hash_iter_t iter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:461,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:461,1
    - Dst: kh_get
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:464,1
    - Dst: kh_end
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:465,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:466,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:471,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:471,1
    - Dst: kh_get
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:473,1
    - Dst: kh_end
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:474,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - hashlin
    - key
    - keylen
    argTypes:
    - ucl_hash_t*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 481
    functionName: ucl_hash_search
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 2
    functionsReached:
    - kh_value
    - kh_get
    - khash_t
    - kh_end
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_hash_search (ucl_hash_t* hashlin, const char *key, unsigned keylen)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:494,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:494,1
    - Dst: kh_get
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:497,1
    - Dst: kh_end
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:498,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:499,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:500,1
    - Dst: kh_del
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:501,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:502,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:506,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:506,1
    - Dst: kh_get
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:508,1
    - Dst: kh_end
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:509,1
    - Dst: kh_value
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:510,1
    - Dst: DL_DELETE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:511,1
    - Dst: kh_del
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:512,1
    - Dst: UCL_FREE
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - hashlin
    - obj
    argTypes:
    - ucl_hash_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 516
    functionName: ucl_hash_delete
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 3
    functionsReached:
    - DL_DELETE
    - UCL_FREE
    - khash_t
    - kh_get
    - kh_del
    - kh_value
    - kh_end
    linkageType: ''
    returnType: void
    signature: void ucl_hash_delete (ucl_hash_t* hashlin, const ucl_object_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kh_size
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:524,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:524,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:526,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:526,1
    - Dst: kh_resize
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:529,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:531,1
    - Dst: khash_t
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:531,1
    - Dst: kh_resize
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - hashlin
    - sz
    argTypes:
    - ucl_hash_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 537
    functionName: ucl_hash_reserve
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 1
    functionsReached:
    - kh_size
    - kh_resize
    - khash_t
    linkageType: ''
    returnType: bool
    signature: bool ucl_hash_reserve (ucl_hash_t *hashlin, size_t sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - s
    - d
    - l
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 581
    functionName: ucl_lc_cmp
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ucl_lc_cmp (const char *s, const char *d, size_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_lc_cmp
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: ucl_hash_cmp_icase
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - ucl_lc_cmp
    linkageType: ''
    returnType: int
    signature: int ucl_hash_cmp_icase (const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 607
    functionName: ucl_hash_cmp_case_sens
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ucl_hash_cmp_case_sens (const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DL_SORT
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:614,1
    - Dst: DL_SORT
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:617,1
    - Dst: DL_FOREACH
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:623,1
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:624,1
    - Dst: ucl_hash_sort
      Src: /src/rtpproxy/external/libucl/src/ucl_hash.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hashlin
    - fl
    argTypes:
    - ucl_hash_t*
    - enum ucl_object_keys_sort_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 629
    functionName: ucl_hash_sort
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_hash.c
    functionUses: 2
    functionsReached:
    - ucl_hash_sort
    - DL_SORT
    - DL_FOREACH
    - ucl_object_type
    linkageType: ''
    returnType: void
    signature: void ucl_hash_sort (ucl_hash_t *hashlin, enum ucl_object_keys_sort_flags
      fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: S_ISREG
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: S_ISDIR
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: __DECONST
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __DECONST(type, var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utstring_new
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:382,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:384,1
    - Dst: utstring_printf_va
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:385,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:386,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - err
    - fmt
    argTypes:
    - UT_string**
    - char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: ucl_create_err
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 22
    functionsReached:
    - va_start
    - utstring_new
    - assert
    - utstring_printf_va
    - va_end
    linkageType: ''
    returnType: void
    signature: void ucl_create_err (UT_string **err, const char *fmt, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:408,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:414,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:420,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:424,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:430,1
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:434,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 38
    argCount: 3
    argNames:
    - obj
    - start
    - len
    argTypes:
    - ucl_object_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 446
    functionName: ucl_maybe_parse_boolean
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 2
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool ucl_maybe_parse_boolean (ucl_object_t *obj, const unsigned char
      *start, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_search
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hashlin
    - obj
    argTypes:
    - ucl_hash_t*
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: ucl_hash_search_obj
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 3
    functionsReached:
    - ucl_hash_search
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      ucl_hash_search_obj (ucl_hash_t* hashlin, ucl_object_t *obj)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ucl_hash_create
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:480,1
    - Dst: ucl_hash_insert
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:487,1
    - Dst: ucl_hash_destroy
      Src: /src/rtpproxy/external/libucl/src/ucl_internal.h:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - hashlin
    - obj
    - ignore_case
    argTypes:
    - ucl_hash_t*
    - ucl_object_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 495
    functionName: ucl_hash_insert_object
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_internal.h
    functionUses: 4
    functionsReached:
    - ucl_hash_insert
    - ucl_hash_create
    - ucl_hash_destroy
    linkageType: ''
    returnType: ucl_hash_t
    signature: "ucl_hash_t *\nucl_hash_insert_object (ucl_hash_t *hashlin,\n\t\tconst
      ucl_object_t *obj,\n\t\tbool ignore_case)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - type_flags
    argTypes:
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ucl_test_character
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_chartable.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ucl_test_character (unsigned char c, int type_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: _HU_FUNCTION
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _HU_FUNCTION(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: _HU_FUNCTION
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _HU_FUNCTION(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: TREE_ENTRY
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: TREE_HEAD
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: TREE_INITIALIZER
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_INITIALIZER(cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - self
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: TREE_DELTA
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_DELTA(self, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - node
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 194
    functionName: TREE_DEFINE
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_DEFINE(node, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - field
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: TREE_INSERT
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_INSERT(head, node, field, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - field
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: TREE_FIND
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_FIND(head, node, field, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - field
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: TREE_REMOVE
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_REMOVE(head, node, field, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: TREE_DEPTH
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_DEPTH(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - field
    - ','
    - function
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: TREE_FORWARD_APPLY
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_FORWARD_APPLY(head, node, field, function, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - node
    - ','
    - field
    - ','
    - function
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: TREE_REVERSE_APPLY
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_REVERSE_APPLY(head, node, field, function, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: TREE_INIT
    functionSourceFile: /src/rtpproxy/external/libucl/src/tree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_INIT(head, cmp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:75,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:76,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:77,1
    - Dst: assert
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:78,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:91,1
    - Dst: calloc
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:98,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:101,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:106,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:109,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:111,1
    - Dst: LL_PREPEND
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:125,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:136,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:148,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:155,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:166,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:171,1
    - Dst: ucl_copy_value_trash
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:178,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:181,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:189,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:199,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:202,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:208,1
    - Dst: ucl_create_err
      Src: /src/rtpproxy/external/libucl/src/ucl_sexp.c:221,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 113
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct ucl_parser*
    assertStmts:
    - condition: (parser->chunks->remain != 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/rtpproxy/external/libucl/src/ucl_sexp.c
    - condition: (parser->chunks != NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/rtpproxy/external/libucl/src/ucl_sexp.c
    - condition: (parser->chunks->begin != NULL)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/rtpproxy/external/libucl/src/ucl_sexp.c
    - condition: (parser != NULL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/rtpproxy/external/libucl/src/ucl_sexp.c
    constantsTouched: []
    func_position:
      end: 226
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 226
    functionName: ucl_parse_csexp
    functionSourceFile: /src/rtpproxy/external/libucl/src/ucl_sexp.c
    functionUses: 1
    functionsReached:
    - free
    - ucl_create_err
    - ucl_object_typed_new
    - assert
    - LL_PREPEND
    - ucl_copy_value_trash
    - ucl_array_append
    - calloc
    linkageType: ''
    returnType: bool
    signature: bool ucl_parse_csexp (struct ucl_parser *parser)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Py_BuildValue
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:12,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:12,1
    - Dst: Py_BuildValue
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:14,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:14,1
    - Dst: Py_BuildValue
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:16,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:16,1
    - Dst: PyBool_FromLong
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:18,1
    - Dst: ucl_object_toboolean
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:18,1
    - Dst: Py_BuildValue
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:20,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 7
    functionDepth: 4
    functionLinenumber: 7
    functionLinenumberEnd: 25
    functionName: _basic_ucl_type
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - Py_BuildValue
    - ucl_object_todouble
    - PyBool_FromLong
    - ucl_object_toboolean
    - ucl_object_tostring
    - ucl_object_toint
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      _basic_ucl_type (ucl_object_t const *obj)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:35,1
    - Dst: _basic_ucl_type
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:38,1
    - Dst: Py_BuildValue
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:43,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:43,1
    - Dst: PyDict_New
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:50,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:52,1
    - Dst: Py_BuildValue
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:53,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:53,1
    - Dst: PyDict_SetItem
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:54,1
    - Dst: _iterate_valid_ucl
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:54,1
    - Dst: PyList_New
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:60,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:62,1
    - Dst: PyList_Append
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:63,1
    - Dst: _iterate_valid_ucl
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:63,1
    - Dst: PyBytes_FromString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:69,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 77
    functionName: _iterate_valid_ucl
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 1
    functionsReached:
    - Py_BuildValue
    - ucl_object_iterate
    - PyBytes_FromString
    - _basic_ucl_type
    - PyList_New
    - PyDict_SetItem
    - PyErr_SetString
    - _iterate_valid_ucl
    - ucl_object_key
    - PyDict_New
    - PyList_Append
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      _iterate_valid_ucl (ucl_object_t const *obj)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:84,1
    - Dst: ucl_parser_add_string
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:85,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:88,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:89,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:89,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:90,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:94,1
    - Dst: _iterate_valid_ucl
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:95,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:96,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:101,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:101,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - uclstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 79
    functionDepth: 12
    functionLinenumber: 79
    functionLinenumberEnd: 109
    functionName: _internal_load_ucl
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - ucl_parser_get_object
    - ucl_parser_free
    - ucl_parser_get_error
    - ucl_parser_new
    - PyErr_SetString
    - ucl_parser_add_string
    - _iterate_valid_ucl
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      _internal_load_ucl (char *uclstr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:116,1
    - Dst: _internal_load_ucl
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 13
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: ucl_load
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyArg_ParseTuple
    - _internal_load_ucl
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      ucl_load (PyObject *self, PyObject *args)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_new
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:131,1
    - Dst: PyBool_Check
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:133,1
    - Dst: ucl_object_frombool
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:134,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:138,1
    - Dst: PyInt_AsLong
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:138,1
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:142,1
    - Dst: PyLong_AsLong
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:142,1
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:145,1
    - Dst: PyFloat_AsDouble
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:145,1
    - Dst: PyUnicode_AsASCIIString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:149,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:150,1
    - Dst: PyBytes_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:150,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:151,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:156,1
    - Dst: PyString_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:156,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:165,1
    - Dst: PyDict_Next
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:167,1
    - Dst: _iterate_python
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:168,1
    - Dst: PyUnicode_Check
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:170,1
    - Dst: PyUnicode_AsASCIIString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:171,1
    - Dst: PyBytes_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:172,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:173,1
    - Dst: PyString_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:177,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:181,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - obj
    argTypes:
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 189
    functionName: _iterate_python
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 1
    functionsReached:
    - PyString_AsString
    - PyDict_Next
    - Py_DECREF
    - ucl_object_fromint
    - ucl_object_new
    - PyInt_AsLong
    - PyBytes_AsString
    - ucl_object_fromdouble
    - PyFloat_AsDouble
    - PyUnicode_AsASCIIString
    - ucl_object_fromstring
    - PyUnicode_Check
    - ucl_object_typed_new
    - PyBool_Check
    - ucl_object_insert_key
    - PyErr_SetString
    - PyLong_AsLong
    - _iterate_python
    - ucl_object_frombool
    linkageType: ''
    returnType: ucl_object_t
    signature: 'ucl_object_t *

      _iterate_python (PyObject *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:138,1
    - Dst: PyInt_AsLong
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyInt_AsLong
    - ucl_object_fromint
    linkageType: ''
    returnType: else
    signature: else if (PyInt_Check (obj))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromint
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:142,1
    - Dst: PyLong_AsLong
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyLong_AsLong
    - ucl_object_fromint
    linkageType: ''
    returnType: else
    signature: else if (PyLong_Check (obj))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromdouble
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:145,1
    - Dst: PyFloat_AsDouble
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyFloat_AsDouble
    - ucl_object_fromdouble
    linkageType: ''
    returnType: else
    signature: else if (PyFloat_Check (obj))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyUnicode_AsASCIIString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:149,1
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:150,1
    - Dst: PyBytes_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:150,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyBytes_AsString
    - Py_DECREF
    - ucl_object_fromstring
    - PyUnicode_AsASCIIString
    linkageType: ''
    returnType: else
    signature: else if (PyUnicode_Check (obj))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_fromstring
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:156,1
    - Dst: PyString_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyString_AsString
    - ucl_object_fromstring
    linkageType: ''
    returnType: else
    signature: else if (PyString_Check (obj))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:165,1
    - Dst: PyDict_Next
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:167,1
    - Dst: _iterate_python
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:168,1
    - Dst: PyUnicode_Check
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:170,1
    - Dst: PyUnicode_AsASCIIString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:171,1
    - Dst: PyBytes_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:172,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:173,1
    - Dst: PyString_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:177,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:181,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyString_AsString
    - PyBytes_AsString
    - PyUnicode_AsASCIIString
    - PyUnicode_Check
    - PyDict_Next
    - ucl_object_typed_new
    - ucl_object_insert_key
    - PyErr_SetString
    - _iterate_python
    - Py_DECREF
    linkageType: ''
    returnType: else
    signature: else if (PyDict_Check(obj))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyString_AsString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyString_AsString
    linkageType: ''
    returnType: else
    signature: else if (PyString_Check(key))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PySequence_Length
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:195,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:196,1
    - Dst: PySequence_GetItem
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:199,1
    - Dst: _iterate_python
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:200,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: if
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PySequence_GetItem
    - PySequence_Length
    - ucl_object_typed_new
    - ucl_array_append
    - _iterate_python
    linkageType: ''
    returnType: else
    signature: else if (PySequence_Check(obj))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:223,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:224,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:229,1
    - Dst: _iterate_python
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:237,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:242,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:243,1
    - Dst: PyString_FromString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:245,1
    - Dst: PyUnicode_FromString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:247,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 255
    functionName: ucl_dump
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - free
    - PyArg_ParseTuple
    - ucl_object_emit
    - PyUnicode_FromString
    - PyErr_SetString
    - _iterate_python
    - PyString_FromString
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      ucl_dump (PyObject *self, PyObject *args)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:265,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:266,1
    - Dst: _iterate_python
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:270,1
    - Dst: _iterate_python
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:274,1
    - Dst: ucl_object_validate
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:279,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:280,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:281,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 289
    functionName: ucl_validate
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    - PyArg_ParseTuple
    - ucl_object_validate
    - PyErr_SetString
    - _iterate_python
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      ucl_validate (PyObject *self, PyObject *args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyModule_AddIntMacro
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:301,1
    - Dst: PyModule_AddIntMacro
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:302,1
    - Dst: PyModule_AddIntMacro
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:303,1
    - Dst: PyModule_AddIntMacro
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:304,1
    - Dst: PyModule_AddIntMacro
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:305,1
    - Dst: PyErr_NewException
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:307,1
    - Dst: Py_INCREF
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:308,1
    - Dst: PyModule_AddObject
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mod
    argTypes:
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: init_macros
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyModule_AddIntMacro
    - Py_INCREF
    - PyErr_NewException
    - PyModule_AddObject
    linkageType: ''
    returnType: void
    signature: void init_macros(PyObject *mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyModule_Create
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:324,1
    - Dst: init_macros
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: PyInit_ucl
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - PyModule_Create
    - init_macros
    linkageType: ''
    returnType: PyMODINIT_FUNC
    signature: PyMODINIT_FUNC PyInit_ucl (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Py_InitModule
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:332,1
    - Dst: init_macros
      Src: /src/rtpproxy/external/libucl/python/src/uclmodule.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: initucl
    functionSourceFile: /src/rtpproxy/external/libucl/python/src/uclmodule.c
    functionUses: 0
    functionsReached:
    - init_macros
    - Py_InitModule
    linkageType: ''
    returnType: void
    signature: void initucl (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: operator() (ucl_object_t *obj)
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    linkageType: ''
    returnType: void
    signature: void operator() (ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:57,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - nchars
    - ud
    argTypes:
    - unsigned char
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: ucl::Ucl::append_char
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    linkageType: ''
    returnType: int
    signature: int append_char (unsigned char c, size_t nchars, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:66,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - ud
    argTypes:
    - unsigned const char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ucl::Ucl::append_len
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    linkageType: ''
    returnType: int
    signature: int append_len (unsigned const char *str, size_t len, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:75,1
    - Dst: std::to_string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:76,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:78,1
    - Dst: auto::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elt
    - ud
    argTypes:
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: ucl::Ucl::append_int
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    - auto::size
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int append_int (int64_t elt, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:85,1
    - Dst: std::to_string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:86,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:88,1
    - Dst: auto::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elt
    - ud
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ucl::Ucl::append_double
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    - auto::size
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int append_double (double elt, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: ucl::Ucl::default_emit_funcs
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ucl_emitter_functions
    signature: struct ucl_emitter_functions default_emit_funcs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::set<std::string> *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:112,1
    - Dst: auto::emplace
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - data
    - len
    - need_free
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: ucl::Ucl::ucl_variable_getter
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - auto::emplace
    - reinterpret_cast<std::set<std::string> *>
    linkageType: ''
    returnType: bool
    signature: "bool ucl_variable_getter(const unsigned char *data, size_t len,\n\t\t\tunsigned
      char ** /*replace*/, size_t * /*replace_len*/, bool *need_free, void* ud)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<variable_replacer *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:124,1
    - Dst: auto::is_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:130,1
    - Dst: auto::replace
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:134,1
    - Dst: std::string::empty
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:135,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:139,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:139,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:140,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:140,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:140,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - data
    - len
    - replace
    - replace_len
    - need_free
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 146
    functionName: ucl::Ucl::ucl_variable_replacer
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<variable_replacer *>
    - std::string::data
    - std::string::empty
    - auto::replace
    - std::string::size
    - memcpy
    - UCL_ALLOC
    - auto::is_variable
    linkageType: ''
    returnType: bool
    signature: "bool ucl_variable_replacer (const unsigned char *data, size_t len,\n\t\t\tunsigned
      char **replace, size_t *replace_len, bool *need_free, void* ud)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:151,1
    - Dst: config_func
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:153,1
    - Dst: parse_func
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:155,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:156,1
    - Dst: std::string::assign
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:157,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:158,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:163,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:164,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - config_func
    - parse_func
    - err
    argTypes:
    - C
    - P
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: ucl::Ucl::parse_with_strategy_function
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - parse_func
    - ucl_parser_get_object
    - ucl_parser_free
    - ucl_parser_get_error
    - config_func
    - ucl_parser_new
    - ucl::Ucl::Ucl
    - std::string::assign
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_with_strategy_function (C config_func, P parse_func, std::string
      &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - ucl_object_iter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: operator() (ucl_object_iter_t it)
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_iterate_free
    linkageType: ''
    returnType: void
    signature: void operator() (ucl_object_iter_t it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<void>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:196,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:196,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:196,1
    - Dst: ucl_iter_deleter
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:197,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:200,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_iter_deleter
    - ucl_object_iterate_new
    - Ucl::Ucl
    - std::shared_ptr<void>
    - Ucl::obj::get
    - ucl_object_iterate_safe
    - reset
    linkageType: ''
    returnType: void
    signature: void const_iterator(const Ucl &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const const_iterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const_iterator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ~const_iterator()
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& operator=(const const_iterator &other)'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator=(const const_iterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: '& operator=(const_iterator &&other)'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator=(const_iterator &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:216,1
    - Dst: const_iterator::cur::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: operator==(const const_iterator &other) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - obj::get
    - const_iterator::cur::obj::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const const_iterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: operator!=(const const_iterator &other) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const const_iterator &other) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:234,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: '& operator++()'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - Ucl::Ucl
    - ucl_object_iterate_safe
    - get
    - reset
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: '& operator*() const'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ucl
    signature: Ucl & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: '* operator->() const'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Ucl
    signature: Ucl * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: ~variable_replacer()
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~variable_replacer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: ucl::Ucl::is_variable
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool is_variable (const std::string &str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(ucl_object_t *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:269,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_ref
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const ucl_object_t *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:273,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:273,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - Ucl::obj::get
    - ucl_object_ref
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const Ucl &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Ucl(Ucl &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:281,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:284,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(std::nullptr_t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:287,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:291,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:295,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:295,1
    - Dst: static_cast<int64_t>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - static_cast<int64_t>
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_fromstring_common
    - std::string::size
    - std::string::data
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:303,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl_object_fromstring_common
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::to_ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - T::to_ucl
    linkageType: ''
    returnType: void
    signature: void Ucl(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:316,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:316,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:317,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:320,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:320,1
    - Dst: second::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:320,1
    - Dst: first::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:321,1
    - Dst: first::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - get
    - second::obj::get
    - first::data
    - ucl_object_insert_key
    - ucl_object_typed_new
    - first::size
    - ucl_object_ref
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const M &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:330,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:330,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:331,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:334,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:334,1
    - Dst: obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - obj::get
    - get
    - ucl_object_typed_new
    - ucl_object_ref
    - ucl_array_append
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const V &v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:340,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: ucl::Ucl::type
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_type
    linkageType: ''
    returnType: ucl_type_t
    signature: ucl_type_t type () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: ucl::Ucl::key
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string key () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_todouble_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:359,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: ucl::Ucl::number_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_todouble_safe
    linkageType: ''
    returnType: double
    signature: double number_value (const double default_val = 0.0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:370,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: ucl::Ucl::int_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_toint_safe
    - get
    linkageType: ''
    returnType: int64_t
    signature: int64_t int_value (const int64_t default_val = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toboolean_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:381,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: ucl::Ucl::bool_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_toboolean_safe
    - get
    linkageType: ''
    returnType: bool
    signature: bool bool_value (const bool default_val = false) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tostring_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:392,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: ucl::Ucl::string_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_tostring_safe
    linkageType: ''
    returnType: std::string
    signature: std::string string_value (const std::string& default_val = "") const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:401,1
    - Dst: ucl_array_size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:402,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: ucl::Ucl::size
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl::Ucl::type
    - get
    - ucl_array_size
    linkageType: ''
    returnType: size_t
    signature: size_t size () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:410,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:411,1
    - Dst: ucl_array_find_index
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:411,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:411,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: ucl::Ucl::at
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl::Ucl::type
    - ucl_array_find_index
    - get
    - ucl::Ucl::Ucl
    linkageType: ''
    returnType: Ucl
    signature: Ucl at (size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:419,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:420,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:420,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:420,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:421,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:421,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: ucl::Ucl::lookup
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - std::string::data
    - std::string::size
    - ucl_object_lookup_len
    - ucl::Ucl::Ucl
    - ucl::Ucl::type
    linkageType: ''
    returnType: Ucl
    signature: Ucl lookup (const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: operator[] (size_t i) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: Ucl
    signature: Ucl operator[] (size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: operator[](const std::string &key) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: Ucl
    signature: Ucl operator[](const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::default_emit_funcs
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:441,1
    - Dst: reinterpret_cast<void *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:442,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:444,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: ucl::Ucl::dump
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl::Ucl::default_emit_funcs
    - get
    - reinterpret_cast<void *>
    - ucl_object_emit_full
    linkageType: ''
    returnType: void
    signature: void dump (std::string &out, ucl_emitter_t type = UCL_EMIT_JSON) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::dump
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: ucl::Ucl::dump
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl::Ucl::dump
    linkageType: ''
    returnType: std::string
    signature: std::string dump (ucl_emitter_t type = UCL_EMIT_JSON) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:458,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - err
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse (const std::string &in, std::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - vars
    - err
    argTypes:
    - std::string
    - std::map<std::string, std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 2
    functionsReached:
    - ucl::Ucl::parse
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const std::map<std::string, std::string>
      &vars,\n\t\t\tstd::string &err, enum ucl_duplicate_strategy duplicate_strategy
      = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:473,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - macros
    - err
    argTypes:
    - std::string
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 3
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in,\n\t\t\tstd::vector< std::tuple<
      std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:483,1
    - Dst: std::vector< std::tuple< std::string /*name*/, macro_handler_s, void *
        /*userdata*/ > >::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:483,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:486,1
    - Dst: first::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:486,1
    - Dst: second::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:486,1
    - Dst: std::vector::push_back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:489,1
    - Dst: std::get<2>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:489,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:490,1
    - Dst: ucl_parser_register_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:491,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:492,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:493,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:494,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:494,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:496,1
    - Dst: ucl_parser_register_context_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:497,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:498,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:499,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:500,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:500,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:506,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:507,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:508,1
    - Dst: ucl_parser_get_default_priority
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:509,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - in
    - vars
    - macros
    - err
    argTypes:
    - std::string
    - std::map<std::string, std::string>
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 477
    functionDepth: 9
    functionLinenumber: 477
    functionLinenumberEnd: 515
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 3
    functionsReached:
    - ucl_parser_add_chunk_full
    - std::string::data
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >::size
    - std::vector::back
    - std::get<0>
    - std::string::size
    - ucl_parser_register_variable
    - std::vector::push_back
    - std::get<2>
    - ucl::Ucl::parse_with_strategy_function
    - std::get<1>
    - ucl_parser_register_macro
    - std::vector::reserve
    - second::c_str
    - ucl_parser_register_context_macro
    - reinterpret_cast<void*>
    - first::c_str
    - ucl_parser_get_default_priority
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const std::map<std::string, std::string>
      &vars,\n\t\t\tstd::vector< std::tuple< std::string /*name*/, macro_handler_s,
      void * /*userdata*/ > > &macros,\n\t\t\tstd::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - replacer
    - err
    argTypes:
    - std::string
    - variable_replacer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl::Ucl::parse
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const variable_replacer &replacer,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:531,1
    - Dst: std::vector< std::tuple< std::string /*name*/, macro_handler_s, void *
        /*userdata*/ > >::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:531,1
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:533,1
    - Dst: const_cast<variable_replacer &>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:533,1
    - Dst: std::vector::push_back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:535,1
    - Dst: std::get<2>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:535,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:536,1
    - Dst: ucl_parser_register_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:537,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:538,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:539,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:540,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:540,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:542,1
    - Dst: ucl_parser_register_context_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:543,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:544,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:545,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:546,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:546,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:552,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:553,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:554,1
    - Dst: ucl_parser_get_default_priority
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:555,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - in
    - replacer
    - macros
    - err
    argTypes:
    - std::string
    - variable_replacer
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 525
    functionDepth: 9
    functionLinenumber: 525
    functionLinenumberEnd: 561
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_parser_add_chunk_full
    - std::string::data
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >::size
    - std::vector::back
    - std::get<0>
    - std::string::size
    - std::vector::push_back
    - std::get<2>
    - ucl::Ucl::parse_with_strategy_function
    - std::get<1>
    - ucl_parser_set_variables_handler
    - std::vector::reserve
    - ucl_parser_register_macro
    - ucl_parser_register_context_macro
    - reinterpret_cast<void*>
    - const_cast<variable_replacer &>
    - ucl_parser_get_default_priority
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const variable_replacer &replacer,\n\t\t\tstd::vector<
      std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:565,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - err
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 5
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse (const char *in, std::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:574,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - vars
    - err
    argTypes:
    - char*
    - std::map<std::string, std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 6
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse (const char *in, const std::map<std::string, std::string>
      &vars, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:582,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - macros
    - err
    argTypes:
    - char*
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 7
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in,\n\t\t\tstd::vector< std::tuple< std::string
      /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:594,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - in
    - vars
    - macros
    - err
    argTypes:
    - char*
    - std::map<std::string, std::string>
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 595
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 8
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in, const std::map<std::string, std::string>
      &vars,\n\t\t\tstd::vector< std::tuple< std::string /*name*/, macro_handler_s,
      void * /*userdata*/ > > &macros,\n\t\t\tstd::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:604,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - replacer
    - err
    argTypes:
    - char*
    - variable_replacer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 9
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in, const variable_replacer &replacer,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:616,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - in
    - replacer
    - macros
    - err
    argTypes:
    - char*
    - variable_replacer
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 10
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in, const variable_replacer &replacer,\n\t\t\tstd::vector<
      std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse_from_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:621,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - err
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: ucl::Ucl::parse_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - std::map<std::string, std::string>
    - ucl::Ucl::parse_from_file
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_from_file (const std::string &filename, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:628,1
    - Dst: first::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:628,1
    - Dst: second::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:628,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:633,1
    - Dst: std::string::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:633,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - filename
    - vars
    - err
    argTypes:
    - std::string
    - std::map<std::string, std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 5
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: ucl::Ucl::parse_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - ucl_parser_register_variable
    - ucl_parser_add_file
    - ucl::Ucl::parse_with_strategy_function
    - second::c_str
    - first::c_str
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_from_file (const std::string &filename, const std::map<std::string,
      std::string> &vars, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:642,1
    - Dst: const_cast<variable_replacer &>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:643,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:647,1
    - Dst: std::string::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:647,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - filename
    - replacer
    - err
    argTypes:
    - std::string
    - variable_replacer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: ucl::Ucl::parse_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - ucl_parser_add_file
    - ucl::Ucl::parse_with_strategy_function
    - ucl_parser_set_variables_handler
    - const_cast<variable_replacer &>
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_from_file (const std::string &filename, const variable_replacer
      &replacer, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:655,1
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:658,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:659,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:659,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:659,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:660,1
    - Dst: std::move
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    - Dst: std::set::begin
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    - Dst: std::set::end
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    - Dst: std::back_inserter
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 10
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: ucl::Ucl::find_variable
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::data
    - ucl_parser_free
    - std::back_inserter
    - std::string::size
    - ucl_parser_new
    - std::set::end
    - std::move
    - ucl_parser_set_variables_handler
    - ucl_parser_add_chunk
    - std::set::begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> find_variable (const std::string &in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:670,1
    - Dst: ucl::Ucl::find_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:672,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: ucl::Ucl::find_variable
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - std::vector<std::string>
    - ucl::Ucl::find_variable
    - std::string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> find_variable (const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:677,1
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:680,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:681,1
    - Dst: std::string::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:681,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:682,1
    - Dst: std::move
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    - Dst: std::set::begin
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    - Dst: std::set::end
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    - Dst: std::back_inserter
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 687
    functionName: ucl::Ucl::find_variable_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - ucl_parser_free
    - std::back_inserter
    - ucl_parser_new
    - ucl_parser_add_file
    - std::move
    - ucl_parser_set_variables_handler
    - std::set::end
    - std::set::begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> find_variable_from_file (const std::string
      &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: '& operator= (Ucl rhs)'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: Ucl
    signature: Ucl & operator= (Ucl rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:697,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:697,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 5
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: operator== (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_compare
    - Ucl::obj::get
    linkageType: ''
    returnType: bool
    signature: bool operator== (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:701,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:701,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 5
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: operator< (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_compare
    - Ucl::obj::get
    linkageType: ''
    returnType: bool
    signature: bool operator< (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: operator!= (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 704
    functionName: operator<= (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<= (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: operator> (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator> (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: operator>= (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>= (const Ucl &rhs) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:710,1
    - Dst: type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:714,1
    - Dst: bool_value
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: operator bool () const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - type
    - bool_value
    linkageType: ''
    returnType: void
    signature: void operator bool () const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: ucl::Ucl::begin
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: ucl::Ucl::cbegin
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ucl::Ucl::end
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: ucl::Ucl::cend
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: operator() (ucl_object_t *obj)
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_unref
    linkageType: ''
    returnType: void
    signature: void operator() (ucl_object_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:57,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - nchars
    - ud
    argTypes:
    - unsigned char
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: ucl::Ucl::append_char
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    linkageType: ''
    returnType: int
    signature: int append_char (unsigned char c, size_t nchars, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:66,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - str
    - len
    - ud
    argTypes:
    - unsigned const char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ucl::Ucl::append_len
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    linkageType: ''
    returnType: int
    signature: int append_len (unsigned const char *str, size_t len, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:75,1
    - Dst: std::to_string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:76,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:78,1
    - Dst: auto::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elt
    - ud
    argTypes:
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: ucl::Ucl::append_int
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    - auto::size
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int append_int (int64_t elt, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::string *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:85,1
    - Dst: std::to_string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:86,1
    - Dst: std::string*::append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:88,1
    - Dst: auto::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elt
    - ud
    argTypes:
    - double
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: ucl::Ucl::append_double
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<std::string *>
    - std::string*::append
    - auto::size
    - std::to_string
    linkageType: ''
    returnType: int
    signature: int append_double (double elt, void *ud)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: ucl::Ucl::default_emit_funcs
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ucl_emitter_functions
    signature: struct ucl_emitter_functions default_emit_funcs()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::set<std::string> *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:112,1
    - Dst: auto::emplace
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - data
    - len
    - need_free
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: ucl::Ucl::ucl_variable_getter
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - auto::emplace
    - reinterpret_cast<std::set<std::string> *>
    linkageType: ''
    returnType: bool
    signature: "bool ucl_variable_getter(const unsigned char *data, size_t len,\n\t\t\tunsigned
      char ** /*replace*/, size_t * /*replace_len*/, bool *need_free, void* ud)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<variable_replacer *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:124,1
    - Dst: auto::is_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:130,1
    - Dst: auto::replace
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:134,1
    - Dst: std::string::empty
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:135,1
    - Dst: UCL_ALLOC
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:139,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:139,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:140,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:140,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:140,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - data
    - len
    - replace
    - replace_len
    - need_free
    - ud
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - size_t*
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 146
    functionName: ucl::Ucl::ucl_variable_replacer
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<variable_replacer *>
    - std::string::data
    - std::string::empty
    - auto::replace
    - std::string::size
    - memcpy
    - UCL_ALLOC
    - auto::is_variable
    linkageType: ''
    returnType: bool
    signature: "bool ucl_variable_replacer (const unsigned char *data, size_t len,\n\t\t\tunsigned
      char **replace, size_t *replace_len, bool *need_free, void* ud)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:151,1
    - Dst: config_func
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:153,1
    - Dst: parse_func
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:155,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:156,1
    - Dst: std::string::assign
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:157,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:158,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:163,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:164,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - config_func
    - parse_func
    - err
    argTypes:
    - C
    - P
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: ucl::Ucl::parse_with_strategy_function
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - parse_func
    - ucl_parser_get_object
    - ucl_parser_free
    - ucl_parser_get_error
    - config_func
    - ucl_parser_new
    - ucl::Ucl::Ucl
    - std::string::assign
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_with_strategy_function (C config_func, P parse_func, std::string
      &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_iterate_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - ucl_object_iter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: operator() (ucl_object_iter_t it)
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_iterate_free
    linkageType: ''
    returnType: void
    signature: void operator() (ucl_object_iter_t it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<void>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:196,1
    - Dst: ucl_object_iterate_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:196,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:196,1
    - Dst: ucl_iter_deleter
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:197,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:198,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:200,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_iter_deleter
    - ucl_object_iterate_new
    - Ucl::Ucl
    - std::shared_ptr<void>
    - Ucl::obj::get
    - ucl_object_iterate_safe
    - reset
    linkageType: ''
    returnType: void
    signature: void const_iterator(const Ucl &obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 206
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const const_iterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: ucl::Ucl::const_iterator::const_iterator
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const_iterator &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: ~const_iterator()
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: '& operator=(const const_iterator &other)'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator=(const const_iterator &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: '& operator=(const_iterator &&other)'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator=(const_iterator &&other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:216,1
    - Dst: const_iterator::cur::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: operator==(const const_iterator &other) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - obj::get
    - const_iterator::cur::obj::get
    linkageType: ''
    returnType: bool
    signature: bool operator==(const const_iterator &other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: operator!=(const const_iterator &other) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const const_iterator &other) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: ucl_object_iterate_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:230,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:234,1
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: '& operator++()'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - Ucl::Ucl
    - ucl_object_iterate_safe
    - get
    - reset
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: '& operator*() const'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ucl
    signature: Ucl & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: '* operator->() const'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Ucl
    signature: Ucl * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: ~variable_replacer()
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~variable_replacer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: ucl::Ucl::is_variable
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: bool is_variable (const std::string &str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(ucl_object_t *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:269,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - ucl_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_ref
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const ucl_object_t *other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:273,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:273,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - Ucl::obj::get
    - ucl_object_ref
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const Ucl &other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Ucl(Ucl &&other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:281,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:284,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(std::nullptr_t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:287,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:291,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:295,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:295,1
    - Dst: static_cast<int64_t>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - static_cast<int64_t>
    - ucl_object_typed_new
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_fromstring_common
    - std::string::size
    - std::string::data
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:303,1
    - Dst: ucl_object_fromstring_common
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - ucl_object_fromstring_common
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::to_ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - t
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - T::to_ucl
    linkageType: ''
    returnType: void
    signature: void Ucl(const T &t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:316,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:316,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:317,1
    - Dst: ucl_object_insert_key
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:320,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:320,1
    - Dst: second::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:320,1
    - Dst: first::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:321,1
    - Dst: first::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - m
    argTypes:
    - M
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - get
    - second::obj::get
    - first::data
    - ucl_object_insert_key
    - ucl_object_typed_new
    - first::size
    - ucl_object_ref
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const M &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:330,1
    - Dst: ucl_object_typed_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:330,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:331,1
    - Dst: ucl_array_append
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:334,1
    - Dst: ucl_object_ref
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:334,1
    - Dst: obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - V
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: ucl::Ucl::Ucl
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 4
    functionsReached:
    - obj::get
    - get
    - ucl_object_typed_new
    - ucl_object_ref
    - ucl_array_append
    - reset
    linkageType: ''
    returnType: void
    signature: void Ucl(const V &v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:340,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: ucl::Ucl::type
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 3
    functionsReached:
    - get
    - ucl_object_type
    linkageType: ''
    returnType: ucl_type_t
    signature: ucl_type_t type () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: ucl::Ucl::key
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string key () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_todouble_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:359,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: ucl::Ucl::number_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_todouble_safe
    linkageType: ''
    returnType: double
    signature: double number_value (const double default_val = 0.0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toint_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:370,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: ucl::Ucl::int_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_toint_safe
    - get
    linkageType: ''
    returnType: int64_t
    signature: int64_t int_value (const int64_t default_val = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_toboolean_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:381,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: ucl::Ucl::bool_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl_object_toboolean_safe
    - get
    linkageType: ''
    returnType: bool
    signature: bool bool_value (const bool default_val = false) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_tostring_safe
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:392,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: ucl::Ucl::string_value
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_tostring_safe
    linkageType: ''
    returnType: std::string
    signature: std::string string_value (const std::string& default_val = "") const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:401,1
    - Dst: ucl_array_size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:402,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: ucl::Ucl::size
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl::Ucl::type
    - get
    - ucl_array_size
    linkageType: ''
    returnType: size_t
    signature: size_t size () const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:410,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:411,1
    - Dst: ucl_array_find_index
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:411,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:411,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: ucl::Ucl::at
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - ucl::Ucl::type
    - ucl_array_find_index
    - get
    - ucl::Ucl::Ucl
    linkageType: ''
    returnType: Ucl
    signature: Ucl at (size_t i) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:419,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:420,1
    - Dst: ucl_object_lookup_len
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:420,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:420,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:421,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:421,1
    - Dst: ucl::Ucl::Ucl
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: ucl::Ucl::lookup
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - std::string::data
    - std::string::size
    - ucl_object_lookup_len
    - ucl::Ucl::Ucl
    - ucl::Ucl::type
    linkageType: ''
    returnType: Ucl
    signature: Ucl lookup (const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: operator[] (size_t i) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: Ucl
    signature: Ucl operator[] (size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: operator[](const std::string &key) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: Ucl
    signature: Ucl operator[](const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::default_emit_funcs
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:441,1
    - Dst: reinterpret_cast<void *>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:442,1
    - Dst: ucl_object_emit_full
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:444,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: ucl::Ucl::dump
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - ucl::Ucl::default_emit_funcs
    - get
    - reinterpret_cast<void *>
    - ucl_object_emit_full
    linkageType: ''
    returnType: void
    signature: void dump (std::string &out, ucl_emitter_t type = UCL_EMIT_JSON) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::dump
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: ucl::Ucl::dump
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 2
    functionsReached:
    - ucl::Ucl::dump
    linkageType: ''
    returnType: std::string
    signature: std::string dump (ucl_emitter_t type = UCL_EMIT_JSON) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:458,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - err
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 11
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse (const std::string &in, std::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - vars
    - err
    argTypes:
    - std::string
    - std::map<std::string, std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 12
    functionsReached:
    - ucl::Ucl::parse
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const std::map<std::string, std::string>
      &vars,\n\t\t\tstd::string &err, enum ucl_duplicate_strategy duplicate_strategy
      = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:473,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - macros
    - err
    argTypes:
    - std::string
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 13
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in,\n\t\t\tstd::vector< std::tuple<
      std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:483,1
    - Dst: std::vector< std::tuple< std::string /*name*/, macro_handler_s, void *
        /*userdata*/ > >::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:483,1
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:486,1
    - Dst: first::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:486,1
    - Dst: second::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:486,1
    - Dst: std::vector::push_back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:489,1
    - Dst: std::get<2>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:489,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:490,1
    - Dst: ucl_parser_register_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:491,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:492,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:493,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:494,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:494,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:496,1
    - Dst: ucl_parser_register_context_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:497,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:498,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:499,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:500,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:500,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:506,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:507,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:508,1
    - Dst: ucl_parser_get_default_priority
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:509,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - in
    - vars
    - macros
    - err
    argTypes:
    - std::string
    - std::map<std::string, std::string>
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 477
    functionDepth: 9
    functionLinenumber: 477
    functionLinenumberEnd: 515
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 13
    functionsReached:
    - ucl_parser_add_chunk_full
    - std::string::data
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >::size
    - std::vector::back
    - std::get<0>
    - std::string::size
    - ucl_parser_register_variable
    - std::vector::push_back
    - std::get<2>
    - ucl::Ucl::parse_with_strategy_function
    - std::get<1>
    - ucl_parser_register_macro
    - std::vector::reserve
    - second::c_str
    - ucl_parser_register_context_macro
    - reinterpret_cast<void*>
    - first::c_str
    - ucl_parser_get_default_priority
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const std::map<std::string, std::string>
      &vars,\n\t\t\tstd::vector< std::tuple< std::string /*name*/, macro_handler_s,
      void * /*userdata*/ > > &macros,\n\t\t\tstd::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - replacer
    - err
    argTypes:
    - std::string
    - variable_replacer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 14
    functionsReached:
    - ucl::Ucl::parse
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const variable_replacer &replacer,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:531,1
    - Dst: std::vector< std::tuple< std::string /*name*/, macro_handler_s, void *
        /*userdata*/ > >::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:531,1
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:533,1
    - Dst: const_cast<variable_replacer &>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:533,1
    - Dst: std::vector::push_back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:535,1
    - Dst: std::get<2>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:535,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:536,1
    - Dst: ucl_parser_register_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:537,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:538,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:539,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:540,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:540,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:542,1
    - Dst: ucl_parser_register_context_macro
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:543,1
    - Dst: std::get<0>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:544,1
    - Dst: std::get<1>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:545,1
    - Dst: reinterpret_cast<void*>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:546,1
    - Dst: std::vector::back
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:546,1
    - Dst: ucl_parser_add_chunk_full
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:552,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:553,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:554,1
    - Dst: ucl_parser_get_default_priority
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:555,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - in
    - replacer
    - macros
    - err
    argTypes:
    - std::string
    - variable_replacer
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 525
    functionDepth: 9
    functionLinenumber: 525
    functionLinenumberEnd: 561
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 14
    functionsReached:
    - ucl_parser_add_chunk_full
    - std::string::data
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >::size
    - std::vector::back
    - std::get<0>
    - std::string::size
    - std::vector::push_back
    - std::get<2>
    - ucl::Ucl::parse_with_strategy_function
    - std::get<1>
    - ucl_parser_set_variables_handler
    - std::vector::reserve
    - ucl_parser_register_macro
    - ucl_parser_register_context_macro
    - reinterpret_cast<void*>
    - const_cast<variable_replacer &>
    - ucl_parser_get_default_priority
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const std::string &in, const variable_replacer &replacer,\n\t\t\tstd::vector<
      std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:565,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - err
    argTypes:
    - char*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 15
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse (const char *in, std::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:574,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - vars
    - err
    argTypes:
    - char*
    - std::map<std::string, std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 16
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse (const char *in, const std::map<std::string, std::string>
      &vars, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:582,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - macros
    - err
    argTypes:
    - char*
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 17
    functionsReached:
    - ucl::Ucl::parse
    - std::map<std::string, std::string>
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in,\n\t\t\tstd::vector< std::tuple< std::string
      /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:594,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - in
    - vars
    - macros
    - err
    argTypes:
    - char*
    - std::map<std::string, std::string>
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 595
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 18
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in, const std::map<std::string, std::string>
      &vars,\n\t\t\tstd::vector< std::tuple< std::string /*name*/, macro_handler_s,
      void * /*userdata*/ > > &macros,\n\t\t\tstd::string &err, enum ucl_duplicate_strategy
      duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:604,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - in
    - replacer
    - err
    argTypes:
    - char*
    - variable_replacer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 19
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in, const variable_replacer &replacer,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:616,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - in
    - replacer
    - macros
    - err
    argTypes:
    - char*
    - variable_replacer
    - std::vector< std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/
      > >
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: ucl::Ucl::parse
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 20
    functionsReached:
    - ucl::Ucl::parse
    - std::string
    linkageType: ''
    returnType: Ucl
    signature: "Ucl parse (const char *in, const variable_replacer &replacer,\n\t\t\tstd::vector<
      std::tuple< std::string /*name*/, macro_handler_s, void * /*userdata*/ > > &macros,\n\t\t\tstd::string
      &err, enum ucl_duplicate_strategy duplicate_strategy = UCL_DUPLICATE_APPEND)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl::Ucl::parse_from_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:621,1
    - Dst: std::map<std::string, std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - err
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: ucl::Ucl::parse_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 2
    functionsReached:
    - std::map<std::string, std::string>
    - ucl::Ucl::parse_from_file
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_from_file (const std::string &filename, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_register_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:628,1
    - Dst: first::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:628,1
    - Dst: second::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:628,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:633,1
    - Dst: std::string::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:633,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - filename
    - vars
    - err
    argTypes:
    - std::string
    - std::map<std::string, std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 5
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: ucl::Ucl::parse_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - ucl_parser_register_variable
    - ucl_parser_add_file
    - ucl::Ucl::parse_with_strategy_function
    - second::c_str
    - first::c_str
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_from_file (const std::string &filename, const std::map<std::string,
      std::string> &vars, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:642,1
    - Dst: const_cast<variable_replacer &>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:643,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:647,1
    - Dst: std::string::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:647,1
    - Dst: ucl::Ucl::parse_with_strategy_function
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - filename
    - replacer
    - err
    argTypes:
    - std::string
    - variable_replacer
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: ucl::Ucl::parse_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 2
    functionsReached:
    - std::string::c_str
    - ucl_parser_add_file
    - ucl::Ucl::parse_with_strategy_function
    - ucl_parser_set_variables_handler
    - const_cast<variable_replacer &>
    linkageType: ''
    returnType: Ucl
    signature: Ucl parse_from_file (const std::string &filename, const variable_replacer
      &replacer, std::string &err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:655,1
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:658,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:659,1
    - Dst: std::string::data
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:659,1
    - Dst: std::string::size
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:659,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:660,1
    - Dst: std::move
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    - Dst: std::set::begin
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    - Dst: std::set::end
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    - Dst: std::back_inserter
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 10
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: ucl::Ucl::find_variable
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 1
    functionsReached:
    - std::string::data
    - ucl_parser_free
    - std::back_inserter
    - std::string::size
    - ucl_parser_new
    - std::set::end
    - std::move
    - ucl_parser_set_variables_handler
    - ucl_parser_add_chunk
    - std::set::begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> find_variable (const std::string &in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:670,1
    - Dst: ucl::Ucl::find_variable
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:672,1
    - Dst: std::string
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: ucl::Ucl::find_variable
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 2
    functionsReached:
    - std::vector<std::string>
    - ucl::Ucl::find_variable
    - std::string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> find_variable (const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:677,1
    - Dst: ucl_parser_set_variables_handler
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:680,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:681,1
    - Dst: std::string::c_str
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:681,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:682,1
    - Dst: std::move
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    - Dst: std::set::begin
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    - Dst: std::set::end
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    - Dst: std::back_inserter
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 687
    functionName: ucl::Ucl::find_variable_from_file
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - ucl_parser_free
    - std::back_inserter
    - ucl_parser_new
    - ucl_parser_add_file
    - std::move
    - ucl_parser_set_variables_handler
    - std::set::end
    - std::set::begin
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> find_variable_from_file (const std::string
      &filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: '& operator= (Ucl rhs)'
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: Ucl
    signature: Ucl & operator= (Ucl rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:697,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:697,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 5
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: operator== (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_compare
    - Ucl::obj::get
    linkageType: ''
    returnType: bool
    signature: bool operator== (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ucl_object_compare
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:701,1
    - Dst: get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:701,1
    - Dst: Ucl::obj::get
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 5
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: operator< (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - get
    - ucl_object_compare
    - Ucl::obj::get
    linkageType: ''
    returnType: bool
    signature: bool operator< (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 703
    functionName: operator!= (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!= (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 704
    functionName: operator<= (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<= (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 705
    functionName: operator> (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator> (const Ucl &rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Ucl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 706
    functionName: operator>= (const Ucl &rhs) const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>= (const Ucl &rhs) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:710,1
    - Dst: type
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:714,1
    - Dst: bool_value
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 719
    functionName: operator bool () const
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - type
    - bool_value
    linkageType: ''
    returnType: void
    signature: void operator bool () const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: ucl::Ucl::begin
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: ucl::Ucl::cbegin
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: ucl::Ucl::end
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/rtpproxy/external/libucl/include/ucl++.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: ucl::Ucl::cend
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl++.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: UCL_ALLOC
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_ALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: UCL_FREE
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_FREE(size, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: UCL_DEPRECATED
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_DEPRECATED(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: UCL_DEPRECATED
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_DEPRECATED(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: UCL_DEPRECATED
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCL_DEPRECATED(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ob
    - ','
    - it
    - ','
    - ev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: ucl_object_iterate
    functionSourceFile: /src/rtpproxy/external/libucl/include/ucl.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ucl_object_iterate(ob, it, ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: kh_unused
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_unused(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: kh_unused
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_unused(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: __ac_isempty
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_isempty(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: __ac_isdel
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_isdel(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: __ac_iseither
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_iseither(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: __ac_set_isdel_false
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isdel_false(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: __ac_set_isempty_false
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isempty_false(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: __ac_set_isboth_false
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isboth_false(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: __ac_set_isdel_true
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_set_isdel_true(flag, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: __ac_fsize
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ac_fsize(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: kroundup32
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kroundup32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - N
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: kcalloc
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kcalloc(N,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: kmalloc
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kmalloc(Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: krealloc
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: krealloc(P,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - P
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: kfree
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kfree(P)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - khkey_t
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: __KHASH_TYPE
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __KHASH_TYPE(name, khkey_t, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - khkey_t
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: __KHASH_PROTOTYPES
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __KHASH_PROTOTYPES(name, khkey_t, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - SCOPE
    - ','
    - khkey_t
    - ','
    - khval_t
    - ','
    - kh_is_map
    - ','
    - __hash_func
    - ','
    - __hash_equal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 245
    functionName: __KHASH_IMPL
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __KHASH_IMPL(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func,
      __hash_equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - khkey_t
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: KHASH_DECLARE
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_DECLARE(name, khkey_t, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - SCOPE
    - ','
    - khkey_t
    - ','
    - khval_t
    - ','
    - kh_is_map
    - ','
    - __hash_func
    - ','
    - __hash_equal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: KHASH_INIT2
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_INIT2(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func,
      __hash_equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - name
    - ','
    - khkey_t
    - ','
    - khval_t
    - ','
    - kh_is_map
    - ','
    - __hash_func
    - ','
    - __hash_equal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: KHASH_INIT
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_INIT(name, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: kh_int_hash_func
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int_hash_func(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: kh_int_hash_equal
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int_hash_equal(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: kh_int64_hash_func
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int64_hash_func(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: kh_int64_hash_equal
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int64_hash_equal(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: __ac_X31_hash_string
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: kh_inline
    signature: kh_inline __ac_X31_hash_string(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: kh_str_hash_func
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_str_hash_func(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: kh_str_hash_equal
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_str_hash_equal(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - khint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: __ac_Wang_hash
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: kh_inline
    signature: kh_inline __ac_Wang_hash(khint_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: kh_int_hash_func2
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_int_hash_func2(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: khash_t
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: khash_t(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: kh_init
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_init(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: kh_destroy
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_destroy(name, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: kh_clear
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_clear(name, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: kh_resize
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_resize(name, h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - k
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: kh_put
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_put(name, h, k, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    functionName: kh_get
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_get(name, h, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - h
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 492
    functionName: kh_del
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_del(name, h, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: kh_exist
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_exist(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 508
    functionName: kh_key
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_key(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: kh_val
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_val(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: kh_value
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_value(h, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 529
    functionName: kh_begin
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_begin(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: kh_end
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_end(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: kh_size
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_size(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: kh_n_buckets
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_n_buckets(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - h
    - ','
    - kvar
    - ','
    - vvar
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: kh_foreach
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_foreach(h, kvar, vvar, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - vvar
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: kh_foreach_value
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kh_foreach_value(h, vvar, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: KHASH_SET_INIT_INT
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_SET_INIT_INT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: KHASH_MAP_INIT_INT
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_MAP_INIT_INT(name, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: KHASH_SET_INIT_INT64
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_SET_INIT_INT64(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: KHASH_MAP_INIT_INT64
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_MAP_INIT_INT64(name, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: KHASH_SET_INIT_STR
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_SET_INIT_STR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - khval_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 626
    functionName: KHASH_MAP_INIT_STR
    functionSourceFile: /src/rtpproxy/external/libucl/klib/khash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KHASH_MAP_INIT_STR(name, khval_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: kv_roundup32
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_roundup32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: kvec_t
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kvec_t(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: kv_init
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_init(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: kv_destroy
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_destroy(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: kv_A
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_A(v, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: kv_pop
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_pop(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: kv_size
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_size(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: kv_max
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_max(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - s
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: kv_resize_safe
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_resize_safe(type, v, s, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: kv_grow_safe
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_grow_safe(type, v, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - v1
    - ','
    - v0
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: kv_copy_safe
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_copy_safe(type, v1, v0, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - x
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: kv_push_safe
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_push_safe(type, v, x, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - x
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: kv_prepend_safe
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_prepend_safe(type, v, x, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - v1
    - ','
    - v0
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: kv_concat_safe
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_concat_safe(type, v1, v0, el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: kv_del
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_del(type, v, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: kv_resize
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_resize(type, v, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: kv_grow
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_grow(type, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v1
    - ','
    - v0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: kv_copy
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_copy(type, v1, v0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: kv_push
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_push(type, v, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: kv_prepend
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_prepend(type, v, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - v1
    - ','
    - v0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: kv_concat
    functionSourceFile: /src/rtpproxy/external/libucl/klib/kvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: kv_concat(type, v1, v0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc:9,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc:9,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc:10,1
    - Dst: ucl::Ucl::parse
      Src: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc:12,1
    - Dst: auto::dump
      Src: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc:15,1
    - Dst: dump
      Src: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 26
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc
    functionUses: 2
    functionsReached:
    - dump
    - auto::dump
    - ucl::Ucl::parse
    - std::istreambuf_iterator<char>
    - std::string::assign
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:37,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:47,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:48,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:50,1
    - Dst: ucl_object_key
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:50,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:52,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:53,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:54,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:55,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:57,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:58,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:60,1
    - Dst: ucl_obj_dump
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:61,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:65,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:66,1
    - Dst: ucl_object_iterate
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:68,1
    - Dst: ucl_obj_dump
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:69,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:73,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:74,1
    - Dst: ucl_object_toint
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:74,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:77,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:78,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:78,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:81,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:82,1
    - Dst: ucl_object_tostring
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:82,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:85,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:86,1
    - Dst: ucl_object_tostring_forced
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:86,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:89,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:90,1
    - Dst: ucl_object_todouble
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:90,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:93,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:94,1
    - Dst: free
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:98,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 2
    argNames:
    - obj
    - shift
    argTypes:
    - ucl_object_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: ucl_obj_dump
    functionSourceFile: /src/rtpproxy/external/libucl/utils/objdump.c
    functionUses: 1
    functionsReached:
    - free
    - ucl_obj_dump
    - ucl_object_iterate
    - ucl_object_tostring_forced
    - ucl_object_todouble
    - malloc
    - printf
    - ucl_object_tostring
    - ucl_object_key
    - ucl_object_toint
    linkageType: ''
    returnType: void
    signature: void ucl_obj_dump (const ucl_object_t *obj, unsigned int shift)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:118,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:120,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:127,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:128,1
    - Dst: feof
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:132,1
    - Dst: ferror
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:132,1
    - Dst: realloc
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:134,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:137,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:138,1
    - Dst: fread
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:141,1
    - Dst: ferror
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:144,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:145,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:146,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:149,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:150,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:151,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:152,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:152,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:157,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:158,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:159,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:159,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:166,1
    - Dst: ucl_object_lookup
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:167,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:168,1
    - Dst: ucl_obj_dump
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:169,1
    - Dst: ucl_obj_dump
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:173,1
    - Dst: ucl_parser_free
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:178,1
    - Dst: ucl_object_unref
      Src: /src/rtpproxy/external/libucl/utils/objdump.c:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 101
    functionDepth: 10
    functionLinenumber: 101
    functionLinenumberEnd: 185
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/utils/objdump.c
    functionUses: 2
    functionsReached:
    - ucl_object_unref
    - realloc
    - ferror
    - fprintf
    - ucl_parser_get_error
    - printf
    - exit
    - perror
    - fopen
    - ucl_obj_dump
    - ucl_parser_free
    - fclose
    - ucl_parser_get_object
    - malloc
    - ucl_parser_new
    - fread
    - ucl_parser_add_chunk
    - feof
    - ucl_object_lookup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - flag
    - need_or
    - val
    argTypes:
    - char*
    - bool*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: print_flag
    functionSourceFile: /src/rtpproxy/external/libucl/utils/chargen.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: int print_flag (const char *flag, bool *need_or, char *val)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:57,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:65,1
    - Dst: isspace
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:67,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:68,1
    - Dst: isalnum
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:70,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:71,1
    - Dst: isalnum
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:73,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:74,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:77,1
    - Dst: isprint
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:80,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:81,1
    - Dst: isdigit
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:83,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:84,1
    - Dst: isalnum
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:86,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:87,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:92,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:95,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:99,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:103,1
    - Dst: print_flag
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:107,1
    - Dst: isprint
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:110,1
    - Dst: sprintf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:111,1
    - Dst: sprintf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:114,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:118,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:122,1
    - Dst: printf
      Src: /src/rtpproxy/external/libucl/utils/chargen.c:125,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/utils/chargen.c
    functionUses: 2
    functionsReached:
    - isalnum
    - isprint
    - isdigit
    - isspace
    - printf
    - print_flag
    - sprintf
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:26,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:27,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:28,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:29,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:31,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:33,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - name
    - out
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: usage
    functionSourceFile: /src/rtpproxy/external/libucl/utils/ucl-tool.c
    functionUses: 3
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *name, FILE *out)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:53,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:53,1
    - Dst: usage
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:54,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:55,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:57,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:57,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:61,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:63,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:64,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:66,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:66,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:70,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:72,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:73,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:75,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:75,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:80,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:80,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:84,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:86,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:88,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:90,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:92,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:95,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:96,1
    - Dst: usage
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:99,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:100,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:104,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:105,1
    - Dst: feof
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:107,1
    - Dst: ferror
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:107,1
    - Dst: realloc
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:109,1
    - Dst: perror
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:112,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:113,1
    - Dst: fread
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:116,1
    - Dst: ferror
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:118,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:119,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:120,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:122,1
    - Dst: ucl_parser_add_chunk
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:123,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:124,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:125,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:126,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:128,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:129,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:130,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:131,1
    - Dst: ucl_parser_new
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:134,1
    - Dst: ucl_parser_add_file
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:138,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:139,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:140,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:141,1
    - Dst: ucl_parser_get_object
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:143,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:144,1
    - Dst: ucl_parser_get_error
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:145,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:146,1
    - Dst: ucl_object_validate
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:148,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:149,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:150,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:155,1
    - Dst: ucl_object_emit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:155,1
    - Dst: ucl_object_emit_len
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:160,1
    - Dst: fwrite
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:161,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:167,1
    - Dst: usage
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:168,1
    - Dst: exit
      Src: /src/rtpproxy/external/libucl/utils/ucl-tool.c:169,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 38
    functionDepth: 10
    functionLinenumber: 38
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libucl/utils/ucl-tool.c
    functionUses: 2
    functionsReached:
    - ucl_object_emit_len
    - ucl_parser_add_file
    - realloc
    - ferror
    - fprintf
    - ucl_object_emit
    - ucl_parser_get_error
    - usage
    - exit
    - perror
    - fopen
    - strcmp
    - fclose
    - fwrite
    - ucl_parser_get_object
    - malloc
    - ucl_parser_new
    - ucl_object_validate
    - fread
    - ucl_parser_add_chunk
    - feof
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tp
    argTypes:
    - enum stun_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: stun_transp_name
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stunstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *stun_transp_name(enum stun_transp tp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/stun/req.c:51,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/stun/req.c:56,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/stun/req.c:58,1
    - Dst: stun_msg_vencode
      Src: /src/rtpproxy/external/libre/src/stun/req.c:60,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/stun/req.c:62,1
    - Dst: stun_ctrans_request
      Src: /src/rtpproxy/external/libre/src/stun/req.c:67,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/req.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 13
    argNames:
    - ctp
    - stun
    - proto
    - sock
    - dst
    - presz
    - method
    - key
    - keylen
    - fp
    - resph
    - arg
    - attrc
    argTypes:
    - struct stun_ctrans**
    - struct stun*
    - int
    - void*
    - struct sa*
    - size_t
    - uint16_t
    - uint8_t*
    - size_t
    - bool
    - stun_resp_h*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 76
    functionName: stun_request
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/req.c
    functionUses: 0
    functionsReached:
    - va_start
    - mem_deref
    - stun_msg_vencode
    - rand_u32
    - stun_ctrans_request
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int stun_request(struct stun_ctrans **ctp, struct stun *stun, int
      proto,\n\t\t void *sock, const struct sa *dst, size_t presz,\n\t\t uint16_t
      method, const uint8_t *key, size_t keylen, bool fp,\n\t\t stun_resp_h *resph,
      void *arg, uint32_t attrc, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:50,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:51,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:61,1
    - Dst: resph
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ct
    - err
    - scode
    - reason
    - msg
    argTypes:
    - struct stun_ctrans*
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: completed
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 3
    functionsReached:
    - tmr_cancel
    - list_unlink
    - mem_deref
    - resph
    linkageType: ''
    returnType: void
    signature: "void completed(struct stun_ctrans *ct, int err, uint16_t scode,\n\t\t
      \     const char *reason, const struct stun_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:72,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:73,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:74,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:75,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:83,1
    - Dst: stun_send
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:91,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:97,1
    - Dst: completed
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - stun_conf
    - tmr_start
    - completed
    - stun_send
    linkageType: ''
    returnType: void
    signature: void timeout_handler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:110,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:113,1
    - Dst: stun_msg_tid
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: match_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - stun_msg_tid
    - memcmp
    - stun_msg_method
    linkageType: ''
    returnType: bool
    signature: bool match_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_recv
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - stun_recv
    linkageType: ''
    returnType: void
    signature: void udp_recv_handler(const struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_recv
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - stun_recv
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:142,1
    - Dst: completed
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: tcp_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - tcp_send
    - completed
    linkageType: ''
    returnType: void
    signature: void tcp_estab_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: completed
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: tcp_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - completed
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler(int err, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:178,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:181,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:189,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:189,1
    - Dst: stun_msg_chk_mi
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:206,1
    - Dst: completed
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:216,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 3
    argNames:
    - stun
    - msg
    - ua
    argTypes:
    - struct stun*
    - struct stun_msg*
    - struct stun_unknown_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 224
    functionName: stun_ctrans_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - list_ledata
    - list_apply
    - stun_msg_class
    - completed
    - stun_msg_attr
    - stun_msg_chk_mi
    linkageType: ''
    returnType: int
    signature: "int stun_ctrans_recv(struct stun *stun, const struct stun_msg *msg,\n\t\t
      \    const struct stun_unknown_attr *ua)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:238,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:242,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:243,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:245,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:246,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:252,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:258,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:271,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:272,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:275,1
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:282,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:286,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:287,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:287,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:289,1
    - Dst: tcp_connect
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:293,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:305,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:306,1
    - Dst: dtls_send
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:309,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:329,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 12
    argNames:
    - ctp
    - stun
    - proto
    - sock
    - dst
    - mb
    - tid
    - met
    - key
    - keylen
    - resph
    - arg
    argTypes:
    - struct stun_ctrans**
    - struct stun*
    - int
    - void*
    - struct sa*
    - struct mbuf*
    - uint8_t[]
    - uint16_t
    - uint8_t*
    - size_t
    - stun_resp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 332
    functionName: stun_ctrans_request
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - stun_conf
    - tcp_connect
    - mem_ref
    - dtls_send
    - list_append
    - mem_deref
    - tmr_start
    - memcpy
    - udp_listen
    - mem_zalloc
    - tcp_send
    - udp_send
    linkageType: ''
    returnType: int
    signature: "int stun_ctrans_request(struct stun_ctrans **ctp, struct stun *stun,
      int proto,\n\t\t\tvoid *sock, const struct sa *dst, struct mbuf *mb,\n\t\t\tconst
      uint8_t tid[], uint16_t met, const uint8_t *key,\n\t\t\tsize_t keylen, stun_resp_h
      *resph, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: completed
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - completed
    linkageType: ''
    returnType: bool
    signature: bool close_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stun
    argTypes:
    - struct stun*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: stun_ctrans_close
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - list_apply
    linkageType: ''
    returnType: void
    signature: void stun_ctrans_close(struct stun *stun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:361,1
    - Dst: stun_method_name
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:361,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:362,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:363,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:363,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:364,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:364,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:365,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:366,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - stun_conf
    - re_hprintf
    - tmr_get_expire
    - stun_method_name
    linkageType: ''
    returnType: bool
    signature: bool debug_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:380,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:381,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/stun/ctrans.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - stun
    argTypes:
    - struct re_printf*
    - struct stun*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 386
    functionName: stun_ctrans_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ctrans.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_count
    - list_apply
    linkageType: ''
    returnType: int
    signature: int stun_ctrans_debug(struct re_printf *pf, const struct stun *stun)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:50,1
    - Dst: dnsh
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dns
    - err
    argTypes:
    - struct stun_dns*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: resolved
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - dnsh
    linkageType: ''
    returnType: void
    signature: void resolved(const struct stun_dns *dns, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_find
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:67,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:73,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:73,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:75,1
    - Dst: resolved
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: a_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - dns_rrlist_find
    - sa_port
    - DEBUG_INFO
    - resolved
    - sa_set_in
    linkageType: ''
    returnType: void
    signature: "void a_handler(int err, const struct dnshdr *hdr, struct list *ansl,\n\t\t
      \     struct list *authl, struct list *addl, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_find
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:94,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:100,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:100,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:102,1
    - Dst: resolved
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: aaaa_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - dns_rrlist_find
    - sa_port
    - DEBUG_INFO
    - resolved
    - sa_set_in6
    linkageType: ''
    returnType: void
    signature: "void aaaa_handler(int err, const struct dnshdr *hdr, struct list *ansl,\n\t\t\t
      struct list *authl, struct list *addl, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:112,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:117,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dns
    - name
    argTypes:
    - struct stun_dns*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: a_or_aaaa_query
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - dnsc_query
    - mem_deref
    linkageType: ''
    returnType: int
    signature: int a_or_aaaa_query(struct stun_dns *dns, const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_sort
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:141,1
    - Dst: dns_rrlist_find
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:144,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:146,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:149,1
    - Dst: a_or_aaaa_query
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:151,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:158,1
    - Dst: dns_rrlist_find
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:165,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:168,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:170,1
    - Dst: dns_rrlist_find
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:177,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:180,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:182,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:189,1
    - Dst: a_or_aaaa_query
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:191,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:193,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:197,1
    - Dst: resolved
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 203
    functionName: srv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - dns_rrlist_find
    - DEBUG_INFO
    - dns_rrlist_sort
    - DEBUG_WARNING
    - resolved
    - a_or_aaaa_query
    - sa_set_in6
    - sa_set_in
    linkageType: ''
    returnType: void
    signature: "void srv_handler(int err, const struct dnshdr *hdr, struct list *ansl,\n\t\t\tstruct
      list *authl, struct list *addl, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: dnsdisc_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void dnsdisc_destructor(void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:240,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:244,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:251,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:253,1
    - Dst: resolved
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:255,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:261,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:262,1
    - Dst: a_or_aaaa_query
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:264,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:266,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:274,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:275,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:277,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:278,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:281,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/dnsdisc.c:291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 9
    argNames:
    - dnsp
    - dnsc
    - service
    - proto
    - af
    - domain
    - port
    - dnsh
    - arg
    argTypes:
    - struct stun_dns**
    - struct dnsc*
    - char*
    - char*
    - int
    - char*
    - uint16_t
    - stun_dns_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 293
    functionName: stun_server_discover
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - mem_deref
    - str_ncpy
    - DEBUG_WARNING
    - dnsc_query
    - resolved
    - mem_zalloc
    - sa_set_str
    - a_or_aaaa_query
    - strlen
    - re_snprintf
    - sa_set_in
    linkageType: ''
    returnType: int
    signature: "int stun_server_discover(struct stun_dns **dnsp, struct dnsc *dnsc,\n\t\t\t
      const char *service, const char *proto,\n\t\t\t int af, const char *domain,
      uint16_t port,\n\t\t\t stun_dns_h *dnsh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:43,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:47,1
    - Dst: stun_msg_vencode
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:49,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:49,1
    - Dst: stun_msg_tid
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:50,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:52,1
    - Dst: stun_send
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:57,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 9
    argNames:
    - proto
    - sock
    - dst
    - presz
    - req
    - key
    - keylen
    - fp
    - attrc
    argTypes:
    - int
    - void*
    - struct sa*
    - size_t
    - struct stun_msg*
    - uint8_t*
    - size_t
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: stun_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/rep.c
    functionUses: 0
    functionsReached:
    - stun_msg_tid
    - stun_msg_method
    - va_start
    - mem_deref
    - stun_send
    - stun_msg_vencode
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int stun_reply(int proto, void *sock, const struct sa *dst, size_t
      presz,\n\t       const struct stun_msg *req, const uint8_t *key,\n\t       size_t
      keylen, bool fp, uint32_t attrc, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:98,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:105,1
    - Dst: stun_msg_vencode
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:107,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:107,1
    - Dst: stun_msg_tid
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:108,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:110,1
    - Dst: stun_send
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:115,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/rep.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 11
    argNames:
    - proto
    - sock
    - dst
    - presz
    - req
    - scode
    - reason
    - key
    - keylen
    - fp
    - attrc
    argTypes:
    - int
    - void*
    - struct sa*
    - size_t
    - struct stun_msg*
    - uint16_t
    - char*
    - uint8_t*
    - size_t
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 121
    functionName: stun_ereply
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/rep.c
    functionUses: 0
    functionsReached:
    - stun_msg_tid
    - stun_msg_method
    - va_start
    - mem_deref
    - stun_send
    - stun_msg_vencode
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int stun_ereply(int proto, void *sock, const struct sa *dst, size_t
      presz,\n\t\tconst struct stun_msg *req, uint16_t scode,\n\t\tconst char *reason,
      const uint8_t *key, size_t keylen,\n\t\tbool fp, uint32_t attrc, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:46,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:51,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:53,1
    - Dst: stun_msg_vencode
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:55,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:57,1
    - Dst: stun_send
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:62,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/ind.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 9
    argNames:
    - proto
    - sock
    - dst
    - presz
    - method
    - key
    - keylen
    - fp
    - attrc
    argTypes:
    - int
    - void*
    - struct sa*
    - size_t
    - uint16_t
    - uint8_t*
    - size_t
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 68
    functionName: stun_indication
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/ind.c
    functionUses: 0
    functionsReached:
    - va_start
    - mem_deref
    - stun_send
    - stun_msg_vencode
    - rand_u32
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int stun_indication(int proto, void *sock, const struct sa *dst, size_t
      presz,\n\t\t    uint16_t method, const uint8_t *key, size_t keylen,\n\t\t    bool
      fp, uint32_t attrc, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:45,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:47,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:48,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:49,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: keepalive_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void keepalive_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct stun_keepalive*::mah
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ska
    - err
    - map
    argTypes:
    - struct stun_keepalive*
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: call_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 0
    functionsReached:
    - struct stun_keepalive*::mah
    linkageType: ''
    returnType: void
    signature: "void call_handler(struct stun_keepalive *ska, int err,\n\t\t\t const
      struct sa *map)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:71,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:75,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:80,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:82,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:89,1
    - Dst: call_handler
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:91,1
    - Dst: call_handler
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:96,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 97
    functionName: stun_response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 0
    functionsReached:
    - tmr_start
    - call_handler
    - sa_cmp
    - stun_msg_attr
    - sa_set_in
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:106,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:108,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:117,1
    - Dst: call_handler
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 2
    functionsReached:
    - call_handler
    - mem_deref
    - tmr_start
    - stun_request
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:132,1
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:135,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:138,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:144,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:148,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 162
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 0
    functionsReached:
    - stun_msg_method
    - mem_deref
    - stun_msg_class
    - sa_cmp
    - stun_ctrans_recv
    - stun_msg_decode
    linkageType: ''
    returnType: bool
    signature: bool udp_recv_handler(struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:190,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:194,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:198,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:201,1
    - Dst: udp_register_helper
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:211,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 8
    argNames:
    - skap
    - proto
    - sock
    - layer
    - dst
    - conf
    - mah
    - arg
    argTypes:
    - struct stun_keepalive**
    - int
    - void*
    - int
    - struct sa*
    - struct stun_conf*
    - stun_mapped_addr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 227
    functionName: stun_keepalive_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 0
    functionsReached:
    - tmr_init
    - mem_ref
    - mem_deref
    - stun_alloc
    - mem_zalloc
    - udp_register_helper
    linkageType: ''
    returnType: int
    signature: "int stun_keepalive_alloc(struct stun_keepalive **skap,\n\t\t\t int
      proto, void *sock, int layer,\n\t\t\t const struct sa *dst, const struct stun_conf
      *conf,\n\t\t\t stun_mapped_addr_h *mah, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:245,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/stun/keepalive.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ska
    - interval
    argTypes:
    - struct stun_keepalive*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: stun_keepalive_enable
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/keepalive.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void stun_keepalive_enable(struct stun_keepalive *ska, uint32_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: fingerprint
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 1
    functionsReached:
    - crc32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fingerprint(const uint8_t *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:63,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stun_hdr_decode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:92,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:98,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:105,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:112,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:114,1
    - Dst: stun_attr_decode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:118,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:122,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - msgpp
    - mb
    - ua
    argTypes:
    - struct stun_msg**
    - struct mbuf*
    - struct stun_unknown_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 133
    functionName: stun_msg_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 1
    functionsReached:
    - stun_attr_decode
    - mem_ref
    - list_append
    - mem_deref
    - stun_hdr_decode
    - mem_zalloc
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int stun_msg_decode(struct stun_msg **msgpp, struct mbuf *mb,\n\t\t
      \   struct stun_unknown_attr *ua)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: stun_msg_type
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t stun_msg_type(const struct stun_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STUN_CLASS
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:158,1
    - Dst: stun_msg_type
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: stun_msg_class
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 2
    functionsReached:
    - STUN_CLASS
    - stun_msg_type
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t stun_msg_class(const struct stun_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STUN_METHOD
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:171,1
    - Dst: stun_msg_type
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: stun_msg_method
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 4
    functionsReached:
    - STUN_METHOD
    - stun_msg_type
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t stun_msg_method(const struct stun_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: stun_msg_tid
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *stun_msg_tid(const struct stun_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: stun_msg_mcookie
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stun_msg_mcookie(const struct stun_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - struct stun_msg*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: stun_msg_attr
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 2
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct stun_attr
    signature: struct stun_attr *stun_msg_attr(const struct stun_msg *msg, uint16_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:238,1
    - Dst: h
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - msg
    - h
    - arg
    argTypes:
    - struct stun_msg*
    - stun_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: stun_msg_attr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached:
    - list_head
    - h
    linkageType: ''
    returnType: struct stun_attr
    signature: "struct stun_attr *stun_msg_attr_apply(const struct stun_msg *msg,\n\t\t\t\t
      \     stun_attr_h *h, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STUN_TYPE
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:287,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:289,1
    - Dst: stun_attr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:292,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:297,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:298,1
    - Dst: stun_attr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:303,1
    - Dst: stun_hdr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:309,1
    - Dst: hmac_sha1
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:316,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:316,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:316,1
    - Dst: stun_attr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:320,1
    - Dst: stun_hdr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:330,1
    - Dst: fingerprint
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:333,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:333,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:333,1
    - Dst: stun_attr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 11
    argNames:
    - mb
    - method
    - class
    - tid
    - ec
    - key
    - keylen
    - fp
    - padding
    - attrc
    - ap
    argTypes:
    - struct mbuf*
    - uint16_t
    - uint8_t
    - uint8_t*
    - struct stun_errcode*
    - uint8_t*
    - size_t
    - bool
    - uint8_t
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 341
    functionName: stun_msg_vencode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 4
    functionsReached:
    - hmac_sha1
    - va_arg
    - mbuf_buf
    - fingerprint
    - stun_hdr_encode
    - memcpy
    - STUN_TYPE
    - stun_attr_encode
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int stun_msg_vencode(struct mbuf *mb, uint16_t method, uint8_t class,\n\t\t
      \    const uint8_t *tid, const struct stun_errcode *ec,\n\t\t     const uint8_t
      *key, size_t keylen, bool fp,\n\t\t     uint8_t padding, uint32_t attrc, va_list
      ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:370,1
    - Dst: stun_msg_vencode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:371,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 10
    argNames:
    - mb
    - method
    - class
    - tid
    - ec
    - key
    - keylen
    - fp
    - padding
    - attrc
    argTypes:
    - struct mbuf*
    - uint16_t
    - uint8_t
    - uint8_t*
    - struct stun_errcode*
    - uint8_t*
    - size_t
    - bool
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 376
    functionName: stun_msg_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - stun_msg_vencode
    linkageType: ''
    returnType: int
    signature: "int stun_msg_encode(struct mbuf *mb, uint16_t method, uint8_t class,\n\t\t
      \   const uint8_t *tid, const struct stun_errcode *ec,\n\t\t    const uint8_t
      *key, size_t keylen, bool fp,\n\t\t    uint8_t padding, uint32_t attrc, ...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:397,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:403,1
    - Dst: stun_hdr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:406,1
    - Dst: hmac_sha1
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:410,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:410,1
    - Dst: stun_hdr_encode
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:416,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - msg
    - key
    - keylen
    argTypes:
    - struct stun_msg*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 424
    functionName: stun_msg_chk_mi
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 1
    functionsReached:
    - hmac_sha1
    - mbuf_buf
    - stun_hdr_encode
    - stun_msg_attr
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int stun_msg_chk_mi(const struct stun_msg *msg, const uint8_t *key,\n\t\t
      \   size_t keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:442,1
    - Dst: fingerprint
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:448,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: stun_msg_chk_fingerprint
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached:
    - stun_msg_attr
    - mbuf_buf
    - fingerprint
    linkageType: ''
    returnType: int
    signature: int stun_msg_chk_fingerprint(const struct stun_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_attr_dump
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - attr
    - arg
    argTypes:
    - struct stun_attr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: attr_print
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached:
    - stun_attr_dump
    linkageType: ''
    returnType: bool
    signature: bool attr_print(const struct stun_attr *attr, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:478,1
    - Dst: stun_method_name
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:479,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:479,1
    - Dst: stun_class_name
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:480,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:480,1
    - Dst: stun_msg_attr_apply
      Src: /src/rtpproxy/external/libre/src/stun/msg.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 485
    functionName: stun_msg_dump
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/msg.c
    functionUses: 0
    functionsReached:
    - stun_msg_method
    - stun_msg_attr_apply
    - re_printf
    - stun_class_name
    - stun_msg_class
    - stun_method_name
    linkageType: ''
    returnType: void
    signature: void stun_msg_dump(const struct stun_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:21,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:21,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:22,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:22,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:23,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:23,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct stun_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: stun_hdr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/hdr.c
    functionUses: 2
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_write_u32
    - htons
    - htonl
    linkageType: ''
    returnType: int
    signature: int stun_hdr_encode(struct mbuf *mb, const struct stun_hdr *hdr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:35,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:38,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:38,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:42,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:42,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:46,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:46,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:47,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/hdr.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct stun_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: stun_hdr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/hdr.c
    functionUses: 1
    functionsReached:
    - mbuf_read_mem
    - ntohs
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u16
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int stun_hdr_decode(struct mbuf *mb, struct stun_hdr *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - method
    - ','
    - class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: STUN_TYPE
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STUN_TYPE(method, class)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: STUN_CLASS
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STUN_CLASS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: STUN_METHOD
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STUN_METHOD(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_ctrans_close
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.c
    functionUses: 0
    functionsReached:
    - stun_ctrans_close
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - stunp
    - conf
    - indh
    - arg
    argTypes:
    - struct stun**
    - struct stun_conf*
    - stun_ind_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: stun_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.c
    functionUses: 1
    functionsReached:
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int stun_alloc(struct stun **stunp, const struct stun_conf *conf,\n\t
      \      stun_ind_h *indh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stun
    argTypes:
    - struct stun*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: stun_conf
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct stun_conf
    signature: struct stun_conf *stun_conf(struct stun *stun)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:106,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:110,1
    - Dst: dtls_send
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - proto
    - sock
    - dst
    - mb
    argTypes:
    - int
    - void*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: stun_send
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.c
    functionUses: 4
    functionsReached:
    - dtls_send
    - tcp_send
    - udp_send
    linkageType: ''
    returnType: int
    signature: int stun_send(int proto, void *sock, const struct sa *dst, struct mbuf
      *mb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:145,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:149,1
    - Dst: struct stun*::indh
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:156,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:161,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - stun
    - mb
    argTypes:
    - struct stun*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 171
    functionName: stun_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.c
    functionUses: 2
    functionsReached:
    - mem_deref
    - stun_msg_class
    - struct stun*::indh
    - stun_ctrans_recv
    - stun_msg_decode
    linkageType: ''
    returnType: int
    signature: int stun_recv(struct stun *stun, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/stun/stun.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - stun
    argTypes:
    - struct re_printf*
    - struct stun*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: stun_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/stun.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int stun_debug(struct re_printf *pf, const struct stun *stun)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:19,1
    - Dst: mbuf_strdup
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mb
    - str
    - len
    argTypes:
    - struct mbuf*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: str_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/attr.c
    functionUses: 0
    functionsReached:
    - mbuf_get_left
    - mbuf_strdup
    linkageType: ''
    returnType: int
    signature: int str_decode(struct mbuf *mb, char **str, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:36,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:40,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:45,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/attr.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: stun_addr_encode
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:84,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:89,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:89,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:96,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:100,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:104,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:105,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:106,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:107,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:112,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:112,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:117,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:117,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:118,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:124,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:124,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:133,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:133,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:133,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:138,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:139,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:140,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:144,1
    - Dst: mbuf_write_u64
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:155,1
    - Dst: sys_htonll
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:155,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:167,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:167,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:168,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:168,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:173,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 5
    argNames:
    - mb
    - type
    - v
    - tid
    - padding
    argTypes:
    - struct mbuf*
    - uint16_t
    - void*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 176
    functionName: stun_attr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/attr.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_write_u32
    - mbuf_buf
    - mbuf_write_u64
    - mbuf_write_str
    - sys_htonll
    - htons
    - mbuf_write_u8
    - stun_addr_encode
    - mbuf_get_left
    - htonl
    linkageType: ''
    returnType: int
    signature: "int stun_attr_encode(struct mbuf *mb, uint16_t type, const void *v,\n\t\t
      \    const uint8_t *tid, uint8_t padding)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:190,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:193,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:197,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:197,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:198,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:198,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:200,1
    - Dst: stun_addr_decode
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:216,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:223,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:223,1
    - Dst: str_decode
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:232,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:239,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:247,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:248,1
    - Dst: str_decode
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:249,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:254,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:254,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:256,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:269,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:269,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:278,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:278,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:283,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:295,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:302,1
    - Dst: sys_ntohll
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:319,1
    - Dst: mbuf_read_u64
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:319,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:328,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:337,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:347,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 134
    argCount: 4
    argNames:
    - attrp
    - mb
    - tid
    - ua
    argTypes:
    - struct stun_attr**
    - struct mbuf*
    - uint8_t*
    - struct stun_unknown_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 350
    functionName: stun_attr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/attr.c
    functionUses: 1
    functionsReached:
    - mbuf_read_mem
    - sys_ntohll
    - mbuf_read_u64
    - mem_ref
    - mem_deref
    - stun_addr_decode
    - ntohs
    - mbuf_read_u32
    - mem_zalloc
    - ntohl
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    - str_decode
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int stun_attr_decode(struct stun_attr **attrp, struct mbuf *mb,\n\t\t
      \    const uint8_t *tid, struct stun_unknown_attr *ua)"
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 65
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 396
    functionName: stun_attr_name
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/attr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *stun_attr_name(uint16_t type)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:407,1
    - Dst: stun_attr_name
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:407,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:418,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:422,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:430,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:434,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:439,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:445,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:449,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:454,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:459,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:459,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:460,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:460,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:461,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:462,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:467,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:471,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:480,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:484,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:488,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:493,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:497,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/stun/attr.c:501,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct stun_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 502
    functionName: stun_attr_dump
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/attr.c
    functionUses: 1
    functionsReached:
    - mbuf_buf
    - min
    - re_printf
    - stun_attr_name
    - mbuf_get_left
    linkageType: ''
    returnType: void
    signature: void stun_attr_dump(const struct stun_attr *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - in6
    - tid
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: in6_xor_tid
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/addr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void in6_xor_tid(uint8_t *in6, const uint8_t *tid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:42,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:42,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:44,1
    - Dst: sa_in
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:47,1
    - Dst: sa_in
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:47,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:49,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:50,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:51,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:51,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:52,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:52,1
    - Dst: sa_in6
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:57,1
    - Dst: in6_xor_tid
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:59,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:61,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:62,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:63,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:63,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - mb
    - addr
    - tid
    argTypes:
    - struct mbuf*
    - struct sa*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: stun_addr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/addr.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_write_u32
    - sa_port
    - sa_af
    - sa_in6
    - sa_in
    - htons
    - in6_xor_tid
    - mbuf_write_u8
    - htonl
    linkageType: ''
    returnType: int
    signature: "int stun_addr_encode(struct mbuf *mb, const struct sa *addr,\n\t\t
      \    const uint8_t *tid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:85,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:88,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:89,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:90,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:90,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:98,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:101,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:101,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:105,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:109,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:112,1
    - Dst: in6_xor_tid
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:114,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/stun/addr.c:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - mb
    - addr
    - tid
    argTypes:
    - struct mbuf*
    - struct sa*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 124
    functionName: stun_addr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/stun/addr.c
    functionUses: 1
    functionsReached:
    - mbuf_read_mem
    - sa_set_in6
    - ntohs
    - mbuf_read_u32
    - ntohl
    - in6_xor_tid
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    - sa_set_in
    linkageType: ''
    returnType: int
    signature: int stun_addr_decode(struct mbuf *mb, struct sa *addr, const uint8_t
      *tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: sys_htols
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/endian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sys_htols(uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: sys_htoll
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/endian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sys_htoll(uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: sys_ltohs
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/endian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sys_ltohs(uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: sys_ltohl
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/endian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sys_ltohl(uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: sys_htonll
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/endian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sys_htonll(uint64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: sys_ntohll
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/endian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sys_ntohll(uint64_t v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:43,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:46,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:46,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:52,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:53,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - rel
    - maj
    - min
    - patch
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: sys_rel_get
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached:
    - uname
    - strlen
    - pl_u32
    - re_regex
    linkageType: ''
    returnType: int
    signature: int sys_rel_get(uint32_t *rel, uint32_t *maj, uint32_t *min, uint32_t
      *patch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:91,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:94,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: sys_kernel_get
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached:
    - uname
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int sys_kernel_get(struct re_printf *pf, void *unused)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: sys_build_get
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int sys_build_get(struct re_printf *pf, void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: sys_arch_get
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sys_arch_get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: sys_os_get
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sys_os_get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: sys_libre_version_get
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sys_libre_version_get(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:197,1
    - Dst: getenv
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:199,1
    - Dst: getlogin
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:202,1
    - Dst: str_isset
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: sys_username
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached:
    - str_isset
    - getlogin
    - getenv
    linkageType: ''
    returnType: char
    signature: char *sys_username(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/rtpproxy/external/libre/src/sys/sys.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - enable
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: sys_coredump_set
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sys.c
    functionUses: 0
    functionsReached:
    - setrlimit
    linkageType: ''
    returnType: int
    signature: int sys_coredump_set(bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:50,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: rand_init
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 0
    functionsReached:
    - srand
    - tmr_jiffies
    linkageType: ''
    returnType: void
    signature: void rand_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: rand_u16
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 0
    functionsReached:
    - rand_u32
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rand_u16(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:86,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:87,1
    - Dst: ERR_GET_REASON
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:88,1
    - Dst: ERR_get_error
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:88,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:89,1
    - Dst: arc4random
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:92,1
    - Dst: rand
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:94,1
    - Dst: rand
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:94,1
    - Dst: rand
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: rand_u32
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 4
    functionsReached:
    - ERR_clear_error
    - DEBUG_WARNING
    - ERR_get_error
    - RAND_bytes
    - arc4random
    - ERR_GET_REASON
    - rand
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rand_u32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:112,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: rand_u64
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 0
    functionsReached:
    - rand_u32
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rand_u64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_str
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: rand_char
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 0
    functionsReached:
    - rand_str
    linkageType: ''
    returnType: char
    signature: char rand_char(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_bytes
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: rand_str
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 1
    functionsReached:
    - rand_bytes
    linkageType: ''
    returnType: void
    signature: void rand_str(char *str, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:168,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:169,1
    - Dst: ERR_GET_REASON
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:170,1
    - Dst: ERR_get_error
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:170,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:171,1
    - Dst: arc4random_buf
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:174,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sys/rand.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: rand_bytes
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/rand.c
    functionUses: 1
    functionsReached:
    - ERR_clear_error
    - DEBUG_WARNING
    - ERR_get_error
    - rand_u32
    - arc4random_buf
    - RAND_bytes
    - ERR_GET_REASON
    linkageType: ''
    returnType: void
    signature: void rand_bytes(uint8_t *p, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:45,1
    - Dst: mkdir
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: fs_mkdir
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/fs.c
    functionUses: 0
    functionsReached:
    - mkdir
    - _mkdir
    linkageType: ''
    returnType: int
    signature: int fs_mkdir(const char *path, uint16_t mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHGetFolderPath
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:72,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:80,1
    - Dst: sys_username
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:91,1
    - Dst: getpwnam
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:95,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/sys/fs.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - path
    - sz
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 107
    functionName: fs_gethome
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/fs.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - str_ncpy
    - sys_username
    - SHGetFolderPath
    linkageType: ''
    returnType: int
    signature: int fs_gethome(char *path, size_t sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/rtpproxy/external/libre/src/sys/sleep.c:32,1
    - Dst: select
      Src: /src/rtpproxy/external/libre/src/sys/sleep.c:40,1
    - Dst: usleep
      Src: /src/rtpproxy/external/libre/src/sys/sleep.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - us
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: sys_usleep
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/sleep.c
    functionUses: 0
    functionsReached:
    - Sleep
    - select
    - usleep
    linkageType: ''
    returnType: void
    signature: void sys_usleep(unsigned int us)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:29,1
    - Dst: exit
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:33,1
    - Dst: setsid
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:35,1
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:38,1
    - Dst: fork
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:40,1
    - Dst: exit
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:44,1
    - Dst: chdir
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:46,1
    - Dst: umask
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:48,1
    - Dst: freopen
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:51,1
    - Dst: freopen
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:53,1
    - Dst: freopen
      Src: /src/rtpproxy/external/libre/src/sys/daemon.c:55,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 62
    functionName: sys_daemon
    functionSourceFile: /src/rtpproxy/external/libre/src/sys/daemon.c
    functionUses: 0
    functionsReached:
    - freopen
    - signal
    - fork
    - umask
    - chdir
    - exit
    - setsid
    linkageType: ''
    returnType: int
    signature: int sys_daemon(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - replay
    argTypes:
    - struct replay*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: srtp_replay_init
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/replay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void srtp_replay_init(struct replay *replay)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - replay
    - ix
    argTypes:
    - struct replay*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 64
    functionName: srtp_replay_check
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/replay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool srtp_replay_check(struct replay *replay, uint64_t ix)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - roc
    - s_l
    - seq
    argTypes:
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: srtp_get_index
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t srtp_get_index(uint32_t roc, uint16_t s_l, uint16_t seq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:59,1
    - Dst: aes_alloc
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:63,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:67,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 7
    argNames:
    - out
    - out_len
    - label
    - master_key
    - key_bytes
    - master_salt
    - salt_bytes
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: srtp_derive
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/misc.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - aes_alloc
    - memcpy
    - aes_encr
    linkageType: ''
    returnType: int
    signature: "int srtp_derive(uint8_t *out, size_t out_len, uint8_t label,\n\t\tconst
      uint8_t *master_key, size_t key_bytes,\n\t\tconst uint8_t *master_salt, size_t
      salt_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:83,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:84,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - iv
    - k_s
    - ssrc
    - ix
    argTypes:
    - union vect128*
    - union vect128*
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: srtp_iv_calc
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/misc.c
    functionUses: 0
    functionsReached:
    - htons
    - htonl
    linkageType: ''
    returnType: void
    signature: "void srtp_iv_calc(union vect128 *iv, const union vect128 *k_s,\n\t\t
      \ uint32_t ssrc, uint64_t ix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:100,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:101,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:102,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:103,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/srtp/misc.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - iv
    - k_s
    - ssrc
    - ix
    argTypes:
    - union vect128*
    - union vect128*
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: srtp_iv_calc_gcm
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/misc.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: "void srtp_iv_calc_gcm(union vect128 *iv, const union vect128 *k_s,\n\t\t
      \     uint32_t ssrc, uint64_t ix)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - suite
    argTypes:
    - enum srtp_suite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: srtp_suite_name
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/misc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *srtp_suite_name(enum srtp_suite suite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: seq_diff
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int seq_diff(uint16_t x, uint16_t y)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: srtp_derive
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:51,1
    - Dst: srtp_derive
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:52,1
    - Dst: srtp_derive
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:53,1
    - Dst: aes_alloc
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:58,1
    - Dst: hmac_create
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 10
    argNames:
    - c
    - offs
    - key
    - key_b
    - s
    - s_b
    - tag_len
    - encrypted
    - hash
    - mode
    argTypes:
    - struct comp*
    - unsigned
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - size_t
    - bool
    - bool
    - enum aes_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 70
    functionName: comp_init
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtp.c
    functionUses: 0
    functionsReached:
    - aes_alloc
    - srtp_derive
    - hmac_create
    linkageType: ''
    returnType: int
    signature: "int comp_init(struct comp *c, unsigned offs,\n\t\t     const uint8_t
      *key, size_t key_b,\n\t\t     const uint8_t *s, size_t s_b,\n\t\t     size_t
      tag_len, bool encrypted, bool hash,\n\t\t     enum aes_mode mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:77,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:78,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:79,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:80,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:158,1
    - Dst: comp_init
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:162,1
    - Dst: comp_init
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:165,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:173,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - srtpp
    - suite
    - key
    - key_bytes
    - flags
    argTypes:
    - struct srtp**
    - enum srtp_suite
    - uint8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 178
    functionName: srtp_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - mem_zalloc
    - comp_init
    linkageType: ''
    returnType: int
    signature: "int srtp_alloc(struct srtp **srtpp, enum srtp_suite suite,\n\t       const
      uint8_t *key, size_t key_bytes, int flags)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rtp_hdr_decode
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:197,1
    - Dst: stream_get_seq
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:201,1
    - Dst: seq_diff
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:206,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:215,1
    - Dst: srtp_iv_calc
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:217,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:219,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:220,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:220,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:226,1
    - Dst: srtp_iv_calc_gcm
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:229,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:231,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:234,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:239,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:239,1
    - Dst: aes_get_authtag
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:243,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:248,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:259,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:259,1
    - Dst: hmac_digest
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:265,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:266,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:266,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:272,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - srtp
    - mb
    argTypes:
    - struct srtp*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 283
    functionName: srtp_encrypt
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtp.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - seq_diff
    - mbuf_buf
    - stream_get_seq
    - mbuf_write_u32
    - aes_set_iv
    - aes_encr
    - hmac_digest
    - aes_get_authtag
    - srtp_iv_calc_gcm
    - srtp_iv_calc
    - rtp_hdr_decode
    - mbuf_get_left
    - htonl
    linkageType: ''
    returnType: int
    signature: int srtp_encrypt(struct srtp *srtp, struct mbuf *mb)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rtp_hdr_decode
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:303,1
    - Dst: stream_get_seq
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:307,1
    - Dst: seq_diff
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:311,1
    - Dst: srtp_get_index
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:321,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:328,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:336,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:342,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:342,1
    - Dst: hmac_digest
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:348,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:349,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:349,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:356,1
    - Dst: srtp_replay_check
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:365,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:372,1
    - Dst: srtp_iv_calc
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:374,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:376,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:377,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:377,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:384,1
    - Dst: srtp_iv_calc_gcm
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:387,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:389,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:392,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:397,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:402,1
    - Dst: aes_authenticate
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:406,1
    - Dst: srtp_replay_check
      Src: /src/rtpproxy/external/libre/src/srtp/srtp.c:419,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 2
    argNames:
    - srtp
    - mb
    argTypes:
    - struct srtp*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 430
    functionName: srtp_decrypt
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtp.c
    functionUses: 0
    functionsReached:
    - seq_diff
    - mbuf_read_mem
    - stream_get_seq
    - mbuf_write_u32
    - mbuf_buf
    - aes_decr
    - aes_set_iv
    - srtp_replay_check
    - hmac_digest
    - srtp_iv_calc_gcm
    - srtp_iv_calc
    - srtp_get_index
    - rtp_hdr_decode
    - aes_authenticate
    - memcmp
    - mbuf_get_left
    - htonl
    linkageType: ''
    returnType: int
    signature: int srtp_decrypt(struct srtp *srtp, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:21,1
    - Dst: mbuf_advance
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:24,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:25,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ssrc
    - mb
    argTypes:
    - uint32_t*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: get_rtcp_ssrc
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtcp.c
    functionUses: 0
    functionsReached:
    - mbuf_advance
    - mbuf_read_u32
    - mbuf_get_left
    - ntohl
    linkageType: ''
    returnType: int
    signature: int get_rtcp_ssrc(uint32_t *ssrc, struct mbuf *mb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_rtcp_ssrc
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:46,1
    - Dst: stream_get
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:50,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:58,1
    - Dst: srtp_iv_calc
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:60,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:62,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:63,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:63,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:72,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:74,1
    - Dst: srtp_iv_calc_gcm
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:76,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:78,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:81,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:83,1
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:88,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:88,1
    - Dst: aes_get_authtag
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:92,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:97,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:106,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:106,1
    - Dst: hmac_digest
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:115,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:116,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:116,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:122,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - srtp
    - mb
    argTypes:
    - struct srtp*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 130
    functionName: srtcp_encrypt
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtcp.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - mbuf_write_u32
    - stream_get
    - aes_set_iv
    - aes_encr
    - hmac_digest
    - aes_get_authtag
    - srtp_iv_calc_gcm
    - srtp_iv_calc
    - mbuf_get_left
    - get_rtcp_ssrc
    - htonl
    linkageType: ''
    returnType: int
    signature: int srtcp_encrypt(struct srtp *srtp, struct mbuf *mb)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: get_rtcp_ssrc
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:149,1
    - Dst: stream_get
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:153,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:159,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:165,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:165,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:174,1
    - Dst: hmac_digest
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:181,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:182,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:182,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:186,1
    - Dst: srtp_replay_check
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:194,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:205,1
    - Dst: srtp_iv_calc
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:207,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:209,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:210,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:210,1
    - Dst: srtp_iv_calc_gcm
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:220,1
    - Dst: aes_set_iv
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:222,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:225,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:227,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:232,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:234,1
    - Dst: aes_decr
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:239,1
    - Dst: aes_authenticate
      Src: /src/rtpproxy/external/libre/src/srtp/srtcp.c:243,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - srtp
    - mb
    argTypes:
    - struct srtp*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 254
    functionName: srtcp_decrypt
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/srtcp.c
    functionUses: 0
    functionsReached:
    - mbuf_read_mem
    - mbuf_buf
    - aes_decr
    - stream_get
    - aes_set_iv
    - srtp_replay_check
    - hmac_digest
    - srtp_iv_calc_gcm
    - srtp_iv_calc
    - mbuf_read_u32
    - ntohl
    - aes_authenticate
    - memcmp
    - mbuf_get_left
    - get_rtcp_ssrc
    linkageType: ''
    returnType: int
    signature: int srtcp_decrypt(struct srtp *srtp, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: stream_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/stream.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void stream_destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - srtp
    - ssrc
    argTypes:
    - struct srtp*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: stream_find
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct srtp_stream
    signature: struct srtp_stream *stream_find(struct srtp *srtp, uint32_t ssrc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:50,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:53,1
    - Dst: srtp_replay_init
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:58,1
    - Dst: srtp_replay_init
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:59,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - strmp
    - srtp
    - ssrc
    argTypes:
    - struct srtp_stream**
    - struct srtp*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 67
    functionName: stream_new
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/stream.c
    functionUses: 0
    functionsReached:
    - list_append
    - srtp_replay_init
    - mem_zalloc
    - list_count
    linkageType: ''
    returnType: int
    signature: "int stream_new(struct srtp_stream **strmp, struct srtp *srtp,\n\t\t
      \     uint32_t ssrc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_find
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:77,1
    - Dst: stream_new
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - strmp
    - srtp
    - ssrc
    argTypes:
    - struct srtp_stream**
    - struct srtp*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: stream_get
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/stream.c
    functionUses: 3
    functionsReached:
    - stream_new
    - stream_find
    linkageType: ''
    returnType: int
    signature: int stream_get(struct srtp_stream **strmp, struct srtp *srtp, uint32_t
      ssrc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_get
      Src: /src/rtpproxy/external/libre/src/srtp/stream.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - strmp
    - srtp
    - ssrc
    - seq
    argTypes:
    - struct srtp_stream**
    - struct srtp*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: stream_get_seq
    functionSourceFile: /src/rtpproxy/external/libre/src/srtp/stream.c
    functionUses: 2
    functionsReached:
    - stream_get
    linkageType: ''
    returnType: int
    signature: "int stream_get_seq(struct srtp_stream **strmp, struct srtp *srtp,\n\t\t
      \  uint32_t ssrc, uint16_t seq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refresh_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:53,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:56,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:58,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:59,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:60,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:61,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:62,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:63,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:64,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:65,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:66,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_flush
    - refresh_request
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: refresh_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:76,1
    - Dst: struct turnc*::th
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 2
    functionsReached:
    - refresh_request
    - struct turnc*::th
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:87,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - turnc
    argTypes:
    - struct turnc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: refresh_timer
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void refresh_timer(struct turnc *turnc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: turnc_request_loops
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:99,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:105,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:106,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:107,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:109,1
    - Dst: refresh_timer
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:118,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:126,1
    - Dst: allocate_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:133,1
    - Dst: turnc_keygen
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:141,1
    - Dst: allocate_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:145,1
    - Dst: struct turnc*::th
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:156,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 161
    functionName: allocate_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - stun_msg_attr
    - turnc_keygen
    - allocate_request
    - DEBUG_WARNING
    - refresh_timer
    - turnc_request_loops
    - struct turnc*::th
    linkageType: ''
    returnType: void
    signature: "void allocate_resp_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct turnc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: allocate_request
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 1
    functionsReached:
    - stun_request
    linkageType: ''
    returnType: int
    signature: int allocate_request(struct turnc *t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: turnc_request_loops
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:187,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:193,1
    - Dst: refresh_timer
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:196,1
    - Dst: turnc_keygen
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:201,1
    - Dst: refresh_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:205,1
    - Dst: struct turnc*::th
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 218
    functionName: refresh_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - stun_msg_attr
    - turnc_keygen
    - refresh_request
    - refresh_timer
    - turnc_request_loops
    - struct turnc*::th
    linkageType: ''
    returnType: void
    signature: "void refresh_resp_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      const struct stun_msg *msg, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: turnc_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:228,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:231,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - t
    - lifetime
    - reset_ls
    - resph
    - arg
    argTypes:
    - struct turnc*
    - uint32_t
    - bool
    - stun_resp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: refresh_request
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 3
    functionsReached:
    - mem_deref
    - turnc_loopstate_reset
    - stun_request
    linkageType: ''
    returnType: int
    signature: "int refresh_request(struct turnc *t, uint32_t lifetime, bool reset_ls,\n\t\t\t
      \  stun_resp_h *resph, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: stun_indlen
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - sa_af
    linkageType: ''
    returnType: size_t
    signature: size_t stun_indlen(const struct sa *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: turnc_chan_find_peer
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:276,1
    - Dst: turnc_chan_numb
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:280,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:281,1
    - Dst: turnc_chan_hdr_encode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:284,1
    - Dst: stun_indlen
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:292,1
    - Dst: stun_msg_encode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - err
    - dst
    - mb
    - arg
    argTypes:
    - int*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 308
    functionName: udp_send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - turnc_chan_find_peer
    - turnc_chan_hdr_encode
    - stun_msg_encode
    - turnc_chan_numb
    - mbuf_get_left
    - stun_indlen
    linkageType: ''
    returnType: bool
    signature: "bool udp_send_handler(int *err, struct sa *dst, struct mbuf *mb,\n\t\t\t
      \    void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:319,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:320,1
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:323,1
    - Dst: turnc_chan_hdr_decode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:328,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:331,1
    - Dst: turnc_chan_find_numb
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:334,1
    - Dst: turnc_chan_peer
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:338,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:343,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:349,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:352,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:353,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:367,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:374,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 377
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - stun_msg_method
    - turnc_chan_find_numb
    - turnc_chan_hdr_decode
    - mem_deref
    - stun_msg_class
    - stun_ctrans_recv
    - sa_cmp
    - turnc_chan_peer
    - stun_msg_attr
    - mbuf_get_left
    - stun_msg_decode
    linkageType: ''
    returnType: bool
    signature: bool udp_recv_handler(struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:408,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:412,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:416,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:420,1
    - Dst: turnc_perm_hash_alloc
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:424,1
    - Dst: turnc_chan_hash_alloc
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:428,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:432,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:434,1
    - Dst: udp_register_helper
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:444,1
    - Dst: allocate_request
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:457,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:463,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 11
    argNames:
    - turncp
    - conf
    - proto
    - sock
    - layer
    - srv
    - username
    - password
    - lifetime
    - th
    - arg
    argTypes:
    - struct turnc**
    - struct stun_conf*
    - int
    - void*
    - int
    - struct sa*
    - char*
    - char*
    - uint32_t
    - turnc_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 468
    functionName: turnc_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - str_dup
    - tmr_init
    - turnc_chan_hash_alloc
    - turnc_perm_hash_alloc
    - mem_ref
    - mem_deref
    - allocate_request
    - stun_alloc
    - mem_zalloc
    - udp_register_helper
    linkageType: ''
    returnType: int
    signature: "int turnc_alloc(struct turnc **turncp, const struct stun_conf *conf,
      int proto,\n\t\tvoid *sock, int layer, const struct sa *srv,\n\t\tconst char
      *username, const char *password,\n\t\tuint32_t lifetime, turnc_h *th, void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: turnc_chan_find_peer
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:480,1
    - Dst: turnc_chan_numb
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:487,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:488,1
    - Dst: turnc_chan_hdr_encode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:493,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:503,1
    - Dst: stun_indlen
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:512,1
    - Dst: stun_msg_encode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:520,1
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:534,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:538,1
    - Dst: dtls_send
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:543,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - turnc
    - dst
    - mb
    argTypes:
    - struct turnc*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 553
    functionName: turnc_send
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - turnc_chan_find_peer
    - turnc_chan_hdr_encode
    - stun_msg_encode
    - dtls_send
    - turnc_chan_numb
    - tcp_send
    - mbuf_write_u8
    - mbuf_get_left
    - udp_send
    - stun_indlen
    linkageType: ''
    returnType: int
    signature: int turnc_send(struct turnc *turnc, const struct sa *dst, struct mbuf
      *mb)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:566,1
    - Dst: turnc_chan_hdr_decode
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:571,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:574,1
    - Dst: turnc_chan_find_numb
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:577,1
    - Dst: turnc_chan_peer
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:581,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:586,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:594,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:599,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:600,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:614,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:623,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 3
    argNames:
    - turnc
    - src
    - mb
    argTypes:
    - struct turnc*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 626
    functionName: turnc_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 0
    functionsReached:
    - stun_msg_method
    - turnc_chan_find_numb
    - turnc_chan_hdr_decode
    - mem_deref
    - stun_msg_class
    - stun_ctrans_recv
    - turnc_chan_peer
    - stun_msg_attr
    - mbuf_get_left
    - stun_msg_decode
    linkageType: ''
    returnType: int
    signature: int turnc_recv(struct turnc *turnc, struct sa *src, struct mbuf *mb)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ls
    - scode
    argTypes:
    - struct loop_state*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 653
    functionName: turnc_request_loops
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool turnc_request_loops(struct loop_state *ls, uint16_t scode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ls
    argTypes:
    - struct loop_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 663
    functionName: turnc_loopstate_reset
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void turnc_loopstate_reset(struct loop_state *ls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:670,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:671,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:675,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:676,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:677,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:678,1
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/turn/turnc.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - turnc
    - msg
    argTypes:
    - struct turnc*
    - struct stun_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 682
    functionName: turnc_keygen
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/turnc.c
    functionUses: 2
    functionsReached:
    - stun_msg_attr
    - mem_deref
    - md5_printf
    - mem_ref
    linkageType: ''
    returnType: int
    signature: int turnc_keygen(struct turnc *turnc, const struct stun_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:57,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:59,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: channels_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - hash_flush
    linkageType: ''
    returnType: void
    signature: void channels_destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:68,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:69,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:70,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: chan_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void chan_destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: numb_hash_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool numb_hash_cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: peer_hash_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: bool peer_hash_cmp_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chanbind_request
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:97,1
    - Dst: struct chan*::turnc::th
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached:
    - struct chan*::turnc::th
    - chanbind_request
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: turnc_request_loops
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:109,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:115,1
    - Dst: struct chan*::ch
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:117,1
    - Dst: turnc_keygen
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:125,1
    - Dst: chanbind_request
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:129,1
    - Dst: struct chan*::turnc::th
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 141
    functionName: chanbind_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 0
    functionsReached:
    - turnc_keygen
    - struct chan*::ch
    - chanbind_request
    - struct chan*::turnc::th
    - tmr_start
    - turnc_request_loops
    linkageType: ''
    returnType: void
    signature: "void chanbind_resp_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: turnc_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:149,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - chan
    - reset_ls
    argTypes:
    - struct chan*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: chanbind_request
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached:
    - stun_request
    - turnc_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int chanbind_request(struct chan *chan, bool reset_ls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: turnc_chan_find_peer
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:186,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:189,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:196,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:197,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:197,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:200,1
    - Dst: chanbind_request
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:205,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - turnc
    - peer
    - ch
    - arg
    argTypes:
    - struct turnc*
    - struct sa*
    - turnc_chan_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: turnc_add_chan
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 0
    functionsReached:
    - turnc_chan_find_peer
    - hash_append
    - tmr_init
    - chanbind_request
    - mem_deref
    - mem_zalloc
    - sa_hash
    linkageType: ''
    returnType: int
    signature: "int turnc_add_chan(struct turnc *turnc, const struct sa *peer,\n\t\t
      \  turnc_chan_h *ch, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:221,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:225,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:229,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - cp
    - bsize
    argTypes:
    - struct channels**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 242
    functionName: turnc_chan_hash_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - mem_zalloc
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: int turnc_chan_hash_alloc(struct channels **cp, uint32_t bsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:250,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - turnc
    - nr
    argTypes:
    - struct turnc*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: turnc_chan_find_numb
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached:
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct chan
    signature: struct chan *turnc_chan_find_numb(const struct turnc *turnc, uint16_t
      nr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:261,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:261,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - turnc
    - peer
    argTypes:
    - struct turnc*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: turnc_chan_find_peer
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 3
    functionsReached:
    - sa_hash
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct chan
    signature: "struct chan *turnc_chan_find_peer(const struct turnc *turnc,\n\t\t\t\t
      \ const struct sa *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct chan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: turnc_chan_numb
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t turnc_chan_numb(const struct chan *chan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chan
    argTypes:
    - struct chan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: turnc_chan_peer
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *turnc_chan_peer(const struct chan *chan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:286,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:286,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:287,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hdr
    - mb
    argTypes:
    - struct chan_hdr*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: turnc_chan_hdr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached:
    - mbuf_write_u16
    - htons
    linkageType: ''
    returnType: int
    signature: int turnc_chan_hdr_encode(const struct chan_hdr *hdr, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:298,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:301,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:301,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:302,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/turn/chan.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hdr
    - mb
    argTypes:
    - struct chan_hdr*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: turnc_chan_hdr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/chan.c
    functionUses: 2
    functionsReached:
    - ntohs
    - mbuf_get_left
    - mbuf_read_u16
    linkageType: ''
    returnType: int
    signature: int turnc_chan_hdr_decode(struct chan_hdr *hdr, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:45,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:46,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: hash_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: bool hash_cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:61,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:61,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - turnc
    - peer
    argTypes:
    - struct turnc*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: perm_find
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 0
    functionsReached:
    - sa_hash
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct perm
    signature: struct perm *perm_find(const struct turnc *turnc, const struct sa *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createperm_request
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:71,1
    - Dst: struct perm*::turnc::th
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 2
    functionsReached:
    - createperm_request
    - struct perm*::turnc::th
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: turnc_request_loops
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:84,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:90,1
    - Dst: struct perm*::ph
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:92,1
    - Dst: turnc_keygen
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:100,1
    - Dst: createperm_request
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:104,1
    - Dst: struct perm*::turnc::th
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: createperm_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 0
    functionsReached:
    - turnc_keygen
    - struct perm*::turnc::th
    - tmr_start
    - struct perm*::ph
    - createperm_request
    - turnc_request_loops
    linkageType: ''
    returnType: void
    signature: "void createperm_resp_handler(int err, uint16_t scode,\n\t\t\t\t    const
      char *reason,\n\t\t\t\t    const struct stun_msg *msg, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: turnc_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:124,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - perm
    - reset_ls
    argTypes:
    - struct perm*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: createperm_request
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 2
    functionsReached:
    - stun_request
    - turnc_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int createperm_request(struct perm *perm, bool reset_ls)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: perm_find
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:157,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:160,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:164,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:164,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:165,1
    - Dst: createperm_request
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:171,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - turnc
    - peer
    - ph
    - arg
    argTypes:
    - struct turnc*
    - struct sa*
    - turnc_perm_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: turnc_add_perm
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 0
    functionsReached:
    - perm_find
    - hash_append
    - tmr_init
    - mem_deref
    - createperm_request
    - mem_zalloc
    - sa_hash
    linkageType: ''
    returnType: int
    signature: "int turnc_add_perm(struct turnc *turnc, const struct sa *peer,\n\t\t
      \  turnc_perm_h *ph, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/turn/perm.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht
    - bsize
    argTypes:
    - struct hash**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: turnc_perm_hash_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/turn/perm.c
    functionUses: 1
    functionsReached:
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: int turnc_perm_hash_alloc(struct hash **ht, uint32_t bsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - chrv
    - n
    - c
    - neg
    argTypes:
    - struct chr*
    - uint32_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: expr_match
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/regex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool expr_match(const struct chr *chrv, uint32_t n, uint8_t c,\n\t\t
      \      bool neg)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:84,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:112,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:112,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:113,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:126,1
    - Dst: expr_match
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:176,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:176,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:190,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:241,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:244,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:249,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/regex.c:254,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 136
    argCount: 3
    argNames:
    - ptr
    - len
    - expr
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 260
    functionName: re_regex
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/regex.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - va_arg
    - va_start
    - expr_match
    - va_end
    - tolower
    linkageType: ''
    returnType: int
    signature: int re_regex(const char *ptr, size_t len, const char *expr, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:29,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:34,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:36,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:39,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:42,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:50,1
    - Dst: isprint
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:50,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:52,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/fmt/hexdump.c:55,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - f
    - p
    - len
    argTypes:
    - FILE*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 57
    functionName: hexdump
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/hexdump.c
    functionUses: 0
    functionsReached:
    - isprint
    - re_fprintf
    linkageType: ''
    returnType: void
    signature: void hexdump(FILE *f, const void *p, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/rtpproxy/external/libre/src/fmt/str_error.c:33,1
    - Dst: strerror_r
      Src: /src/rtpproxy/external/libre/src/fmt/str_error.c:35,1
    - Dst: strerror_s
      Src: /src/rtpproxy/external/libre/src/fmt/str_error.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - errnum
    - buf
    - sz
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: str_error
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str_error.c
    functionUses: 0
    functionsReached:
    - strerror_s
    - strerror_r
    linkageType: ''
    returnType: char
    signature: char *str_error(int errnum, char *buf, size_t sz)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:60,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:65,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:68,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - pf
    - str
    argTypes:
    - struct re_printf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 76
    functionName: utf8_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/unicode.c
    functionUses: 0
    functionsReached:
    - struct re_printf*::vph
    linkageType: ''
    returnType: int
    signature: int utf8_encode(struct re_printf *pf, const char *str)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:142,1
    - Dst: isxdigit
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:143,1
    - Dst: isxdigit
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:144,1
    - Dst: isxdigit
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:145,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:148,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:149,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:150,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:151,1
    - Dst: utf8_byteseq
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:167,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:169,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/fmt/unicode.c:179,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 185
    functionName: utf8_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/unicode.c
    functionUses: 0
    functionsReached:
    - utf8_byteseq
    - ch_hex
    - struct re_printf*::vph
    - isxdigit
    linkageType: ''
    returnType: int
    signature: int utf8_decode(struct re_printf *pf, const struct pl *pl)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - u
    - cp
    argTypes:
    - char[]
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 230
    functionName: utf8_byteseq
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/unicode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t utf8_byteseq(char u[4], unsigned cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:29,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:33,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - hex
    - len
    - str
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: str_hex
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str.c
    functionUses: 0
    functionsReached:
    - strlen
    - ch_hex
    linkageType: ''
    returnType: int
    signature: int str_hex(uint8_t *hex, size_t len, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: str_ncpy
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str.c
    functionUses: 2
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void str_ncpy(char *dst, const char *src, size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:74,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:76,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: str_dup
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int str_dup(char **dst, const char *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: str_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int str_cmp(const char *s1, const char *s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _stricmp
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:125,1
    - Dst: strcasecmp
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: str_casecmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str.c
    functionUses: 0
    functionsReached:
    - _stricmp
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int str_casecmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/fmt/str.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: str_len
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/str.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t str_len(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pl
    - str
    argTypes:
    - struct pl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: pl_set_str
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void pl_set_str(struct pl *pl, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:52,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pl
    - mb
    argTypes:
    - struct pl*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: pl_set_mbuf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - mbuf_get_left
    linkageType: ''
    returnType: void
    signature: void pl_set_mbuf(struct pl *pl, const struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: pl_u32
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pl_u32(const struct pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: pl_x32
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pl_x32(const struct pl *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: pl_u64
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pl_u64(const struct pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: pl_x64
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pl_x64(const struct pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 230
    functionName: pl_float
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double pl_float(const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: pl_isset
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pl_isset(const struct pl *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:262,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pl
    - str
    - size
    argTypes:
    - struct pl*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: pl_strcpy
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 1
    functionsReached:
    - min
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pl_strcpy(const struct pl *pl, char *str, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:286,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char**
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 296
    functionName: pl_strdup
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pl_strdup(char **dst, const struct pl *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:314,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 324
    functionName: pl_dup
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pl_dup(struct pl *dst, const struct pl *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:343,1
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pl
    - str
    argTypes:
    - struct pl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: pl_strcmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached:
    - pl_set_str
    - pl_cmp
    linkageType: ''
    returnType: int
    signature: int pl_strcmp(const struct pl *pl, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:365,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pl
    - str
    argTypes:
    - struct pl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: pl_strcasecmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 2
    functionsReached:
    - pl_casecmp
    - pl_set_str
    linkageType: ''
    returnType: int
    signature: int pl_strcasecmp(const struct pl *pl, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pl1
    - pl2
    argTypes:
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: pl_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int pl_cmp(const struct pl *pl1, const struct pl *pl2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOWER
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:426,1
    - Dst: LOWER
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:426,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:433,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pl
    - str
    argTypes:
    - struct pl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 438
    functionName: casecmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 22
    functionsReached:
    - LOWER
    - tolower
    linkageType: ''
    returnType: int
    signature: int casecmp(const struct pl *pl, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: LOWER
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOWER(d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:476,1
    - Dst: casecmp
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pl1
    - pl2
    argTypes:
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 480
    functionName: pl_casecmp
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 1
    functionsReached:
    - casecmp
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int pl_casecmp(const struct pl *pl1, const struct pl *pl2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pl
    - c
    argTypes:
    - struct pl*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 505
    functionName: pl_strchr
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pl_strchr(const struct pl *pl, char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/fmt/pl.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pl
    - c
    argTypes:
    - struct pl*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 530
    functionName: pl_strrchr
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/pl.c
    functionUses: 0
    functionsReached:
    - pl_isset
    linkageType: ''
    returnType: char
    signature: char *pl_strrchr(const struct pl *pl, char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: ch_hex
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/ch.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ch_hex(char ch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:26,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pl
    - pname
    argTypes:
    - struct pl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: fmt_param_exists
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/prm.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: bool
    signature: bool fmt_param_exists(const struct pl *pl, const char *pname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:57,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pl
    - pname
    - val
    argTypes:
    - struct pl*
    - char*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: fmt_param_get
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/prm.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: bool
    signature: bool fmt_param_get(const struct pl *pl, const char *pname, struct pl
      *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:84,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:87,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:89,1
    - Dst: ph
      Src: /src/rtpproxy/external/libre/src/fmt/prm.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pl
    - ph
    - arg
    argTypes:
    - struct pl*
    - fmt_param_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: fmt_param_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/prm.c
    functionUses: 0
    functionsReached:
    - pl_advance
    - re_regex
    - ph
    linkageType: ''
    returnType: void
    signature: void fmt_param_apply(const struct pl *pl, fmt_param_h *ph, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:31,1
    - Dst: gmtime
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:35,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:39,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:40,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:40,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:42,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pf
    - ts
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: fmt_gmtime
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/time.c
    functionUses: 0
    functionsReached:
    - min
    - time
    - re_hprintf
    - gmtime
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int fmt_gmtime(struct re_printf *pf, void *ts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:66,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:69,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:73,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/fmt/time.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pf
    - seconds
    argTypes:
    - struct re_printf*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: fmt_human_time
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/time.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int fmt_human_time(struct re_printf *pf, const uint32_t *seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: isinf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: isnan
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: isinf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: isnan
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:51,1
    - Dst: MIN
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:54,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:57,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:60,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:63,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:66,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 8
    argNames:
    - p
    - sz
    - pad
    - pch
    - plr
    - prfx
    - vph
    - arg
    argTypes:
    - char*
    - size_t
    - size_t
    - char
    - bool
    - char*
    - re_vprintf_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: write_padded
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - MIN
    - vph
    - str_len
    linkageType: ''
    returnType: int
    signature: "int write_padded(const char *p, size_t sz, size_t pad, char pch,\n\t\t\tbool
      plr, const char *prfx, re_vprintf_h *vph,\n\t\t\tvoid *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - n
    - base
    - uc
    argTypes:
    - char*
    - uint64_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: local_itoa
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t local_itoa(char *buf, uint64_t n, uint8_t base, bool uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: local_itoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - n
    - dp
    argTypes:
    - char*
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 131
    functionName: local_ftoa
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - local_itoa
    linkageType: ''
    returnType: size_t
    signature: size_t local_ftoa(char *buf, double n, size_t dp)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:204,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:229,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:233,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:234,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:236,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:241,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:243,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:252,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:257,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:261,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:265,1
    - Dst: local_itoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:269,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:272,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:280,1
    - Dst: isinf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:287,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:288,1
    - Dst: isnan
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:291,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:292,1
    - Dst: local_ftoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:296,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:297,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:299,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:307,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:308,1
    - Dst: ph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:311,1
    - Dst: str_error
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:320,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:320,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:321,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:321,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:326,1
    - Dst: local_itoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:329,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:331,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:336,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:344,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:346,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:352,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:353,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:353,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:367,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:372,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:376,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:380,1
    - Dst: local_itoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:384,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:386,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:392,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:393,1
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:398,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:405,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:406,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:412,1
    - Dst: local_itoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:416,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:417,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:422,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:432,1
    - Dst: sa_ntop
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:435,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:436,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:440,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:440,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:446,1
    - Dst: sa_ntop
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:449,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:450,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:456,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:458,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:461,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:461,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:464,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:466,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:471,1
    - Dst: local_itoa
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:472,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:472,1
    - Dst: write_padded
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:473,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:494,1
    - Dst: vph
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:503,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 215
    argCount: 4
    argNames:
    - fmt
    - ap
    - vph
    - arg
    argTypes:
    - char*
    - va_list
    - re_vprintf_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 506
    functionName: re_vhprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 1
    functionsReached:
    - va_arg
    - isinf
    - write_padded
    - min
    - sa_af
    - sa_port
    - local_ftoa
    - re_vhprintf
    - sa_ntop
    - vph
    - str_error
    - ph
    - local_itoa
    - strlen
    - isnan
    - str_len
    linkageType: ''
    returnType: int
    signature: int re_vhprintf(const char *fmt, va_list ap, re_vprintf_h *vph, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:516,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - size
    - arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 521
    functionName: print_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pl_advance
    linkageType: ''
    returnType: int
    signature: int print_handler(const char *p, size_t size, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:537,1
    - Dst: mem_realloc
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:538,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - p
    - size
    - arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 554
    functionName: print_handler_dyn
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - mem_realloc
    - MAX
    - memcpy
    linkageType: ''
    returnType: int
    signature: int print_handler_dyn(const char *p, size_t size, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p
    - size
    - arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 572
    functionName: print_handler_stream
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int print_handler_stream(const char *p, size_t size, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - fmt
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 598
    functionName: re_vfprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - re_vhprintf
    linkageType: ''
    returnType: int
    signature: int re_vfprintf(FILE *stream, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_vfprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: re_vprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - re_vfprintf
    linkageType: ''
    returnType: int
    signature: int re_vprintf(const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - str
    - size
    - fmt
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 641
    functionName: re_vsnprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 1
    functionsReached:
    - re_vhprintf
    linkageType: ''
    returnType: int
    signature: int re_vsnprintf(char *str, size_t size, const char *fmt, va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:662,1
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:669,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - strp
    - fmt
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 682
    functionName: re_vsdprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - mem_deref
    - re_vhprintf
    linkageType: ''
    returnType: int
    signature: int re_vsdprintf(char **strp, const char *fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:701,1
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:702,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - fmt
    argTypes:
    - struct re_printf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 706
    functionName: re_hprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 7
    functionsReached:
    - re_vhprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int re_hprintf(struct re_printf *pf, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:722,1
    - Dst: re_vfprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:723,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - fmt
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 727
    functionName: re_fprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - re_vfprintf
    linkageType: ''
    returnType: int
    signature: int re_fprintf(FILE *stream, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:742,1
    - Dst: re_vprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:743,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 737
    functionDepth: 5
    functionLinenumber: 737
    functionLinenumberEnd: 747
    functionName: re_printf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - re_vprintf
    linkageType: ''
    returnType: int
    signature: int re_printf(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:764,1
    - Dst: re_vsnprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:765,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - fmt
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 769
    functionName: re_snprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 3
    functionsReached:
    - re_vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int re_snprintf(char *str, size_t size, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:785,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:786,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/fmt/print.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - strp
    - fmt
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 790
    functionName: re_sdprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/fmt/print.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - re_vsdprintf
    linkageType: ''
    returnType: int
    signature: int re_sdprintf(char **strp, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:71,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:72,1
    - Dst: BIO_set_flags
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: bio_create
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_set_flags
    linkageType: ''
    returnType: int
    signature: int bio_create(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:91,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:92,1
    - Dst: BIO_set_flags
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: bio_destroy
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_set_flags
    linkageType: ''
    returnType: int
    signature: int bio_destroy(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:107,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:115,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:120,1
    - Dst: udp_send_helper
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:123,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - b
    - buf
    - len
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: bio_write
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - BIO_get_data
    - mem_deref
    - udp_send_helper
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int bio_write(BIO *b, const char *buf, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 159
    functionName: bio_ctrl
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    linkageType: ''
    returnType: long
    signature: long bio_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:168,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:170,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:171,1
    - Dst: BIO_meth_set_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:175,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:176,1
    - Dst: BIO_meth_set_create
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:177,1
    - Dst: BIO_meth_set_destroy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: bio_method_udp
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 1
    functionsReached:
    - BIO_meth_set_ctrl
    - DEBUG_WARNING
    - ERR_clear_error
    - BIO_meth_set_create
    - BIO_meth_set_destroy
    - BIO_meth_set_write
    - BIO_meth_new
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_method_udp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:208,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:210,1
    - Dst: SSL_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: tls_close
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - SSL_shutdown
    - SSL_free
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: void tls_close(struct tls_conn *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:221,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:222,1
    - Dst: tls_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:223,1
    - Dst: BIO_meth_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:227,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - tls_close
    - BIO_meth_free
    - mem_deref
    - hash_unlink
    - tmr_cancel
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:236,1
    - Dst: tls_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:237,1
    - Dst: struct tls_conn*::closeh
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tc
    - err
    argTypes:
    - struct tls_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - tls_close
    - struct tls_conn*::closeh
    linkageType: ''
    returnType: void
    signature: void conn_close(struct tls_conn *tc, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:254,1
    - Dst: DTLSv1_handle_timeout
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:256,1
    - Dst: check_timer
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:258,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:261,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 3
    functionsReached:
    - conn_close
    - check_timer
    - DEBUG_INFO
    - DTLSv1_handle_timeout
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DTLSv1_get_timeout
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:271,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:273,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: check_timer
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 4
    functionsReached:
    - DTLSv1_get_timeout
    - tmr_cancel
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void check_timer(struct tls_conn *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: check_timer
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void check_timer(struct tls_conn *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:295,1
    - Dst: SSL_connect
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:297,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:299,1
    - Dst: tls_flush_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:301,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:309,1
    - Dst: check_timer
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 317
    functionName: tls_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 2
    functionsReached:
    - check_timer
    - ERR_clear_error
    - DEBUG_WARNING
    - SSL_connect
    - SSL_get_error
    - tls_flush_error
    linkageType: ''
    returnType: int
    signature: int tls_connect(struct tls_conn *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:324,1
    - Dst: SSL_accept
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:326,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:328,1
    - Dst: tls_flush_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:330,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:338,1
    - Dst: check_timer
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 346
    functionName: tls_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 1
    functionsReached:
    - check_timer
    - ERR_clear_error
    - DEBUG_WARNING
    - SSL_accept
    - SSL_get_error
    - tls_flush_error
    linkageType: ''
    returnType: int
    signature: int tls_accept(struct tls_conn *tc)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:357,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:357,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:357,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:359,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:360,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:361,1
    - Dst: SSL_state
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:365,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:368,1
    - Dst: tls_connect
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:373,1
    - Dst: tls_accept
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:376,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:380,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:384,1
    - Dst: SSL_state
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:386,1
    - Dst: SSL_state
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:389,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:397,1
    - Dst: struct tls_conn*::estabh
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:399,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:401,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:402,1
    - Dst: mbuf_set_pos
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:410,1
    - Dst: mbuf_get_space
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:415,1
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:416,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:418,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:423,1
    - Dst: SSL_read
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:425,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:425,1
    - Dst: mbuf_get_space
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:425,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:427,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:429,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:437,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:441,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:442,1
    - Dst: mbuf_set_end
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:452,1
    - Dst: mbuf_set_pos
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:453,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:455,1
    - Dst: struct tls_conn*::recvh
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:456,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - tc
    - mb
    argTypes:
    - struct tls_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 459
    functionName: conn_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - mbuf_set_end
    - tls_accept
    - mbuf_resize
    - mbuf_get_space
    - mbuf_get_left
    - mbuf_set_pos
    - struct tls_conn*::recvh
    - struct tls_conn*::estabh
    - SSL_read
    - SSL_get_error
    - conn_close
    - mem_ref
    - mem_deref
    - ERR_clear_error
    - DEBUG_WARNING
    - mem_nrefs
    - DEBUG_INFO
    - tls_connect
    - SSL_state
    - BIO_write
    linkageType: ''
    returnType: void
    signature: void conn_recv(struct tls_conn *tc, struct mbuf *mb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:470,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:474,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:474,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:476,1
    - Dst: bio_method_udp
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:484,1
    - Dst: SSL_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:492,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:494,1
    - Dst: ERR_GET_REASON
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:495,1
    - Dst: ERR_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:495,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:496,1
    - Dst: BIO_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:501,1
    - Dst: BIO_s_mem
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:501,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:503,1
    - Dst: BIO_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:509,1
    - Dst: BIO_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:511,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:514,1
    - Dst: BIO_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:515,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:521,1
    - Dst: SSL_set_bio
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:526,1
    - Dst: SSL_set_read_ahead
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:528,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:532,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 8
    argNames:
    - ptc
    - tls
    - sock
    - peer
    - estabh
    - recvh
    - closeh
    - arg
    argTypes:
    - struct tls_conn**
    - struct tls*
    - struct dtls_sock*
    - struct sa*
    - dtls_estab_h*
    - dtls_recv_h*
    - dtls_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 537
    functionName: conn_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - SSL_set_bio
    - hash_append
    - bio_method_udp
    - mem_ref
    - SSL_new
    - BIO_new
    - mem_deref
    - ERR_GET_REASON
    - ERR_clear_error
    - DEBUG_WARNING
    - BIO_s_mem
    - ERR_get_error
    - mem_zalloc
    - SSL_set_read_ahead
    - BIO_free
    - sa_hash
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: "int conn_alloc(struct tls_conn **ptc, struct tls *tls,\n\t\t      struct
      dtls_sock *sock, const struct sa *peer,\n\t\t      dtls_estab_h *estabh, dtls_recv_h
      *recvh,\n\t\t      dtls_close_h *closeh, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: conn_alloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:565,1
    - Dst: tls_connect
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:571,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 8
    argNames:
    - ptc
    - tls
    - sock
    - peer
    - estabh
    - recvh
    - closeh
    - arg
    argTypes:
    - struct tls_conn**
    - struct tls*
    - struct dtls_sock*
    - struct sa*
    - dtls_estab_h*
    - dtls_recv_h*
    - dtls_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 582
    functionName: dtls_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - tls_connect
    - mem_deref
    - conn_alloc
    linkageType: ''
    returnType: int
    signature: "int dtls_connect(struct tls_conn **ptc, struct tls *tls,\n\t\t struct
      dtls_sock *sock, const struct sa *peer,\n\t\t dtls_estab_h *estabh, dtls_recv_h
      *recvh,\n\t\t dtls_close_h *closeh, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: conn_alloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:609,1
    - Dst: BIO_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:616,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:616,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:617,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:619,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:620,1
    - Dst: tls_accept
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:625,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:629,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 7
    argNames:
    - ptc
    - tls
    - sock
    - estabh
    - recvh
    - closeh
    - arg
    argTypes:
    - struct tls_conn**
    - struct tls*
    - struct dtls_sock*
    - dtls_estab_h*
    - dtls_recv_h*
    - dtls_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 638
    functionName: dtls_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - BIO_write
    - mem_deref
    - ERR_clear_error
    - DEBUG_WARNING
    - tls_accept
    - mbuf_get_left
    - conn_alloc
    linkageType: ''
    returnType: int
    signature: "int dtls_accept(struct tls_conn **ptc, struct tls *tls,\n\t\tstruct
      dtls_sock *sock,\n\t\tdtls_estab_h *estabh, dtls_recv_h *recvh,\n\t\tdtls_close_h
      *closeh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:659,1
    - Dst: SSL_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:661,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:661,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:661,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:663,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:663,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - tc
    - mb
    argTypes:
    - struct tls_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 669
    functionName: dtls_send
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 3
    functionsReached:
    - mbuf_buf
    - SSL_get_error
    - ERR_clear_error
    - DEBUG_WARNING
    - mbuf_get_left
    - SSL_write
    linkageType: ''
    returnType: int
    signature: int dtls_send(struct tls_conn *tc, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tc
    - estabh
    - recvh
    - closeh
    - arg
    argTypes:
    - struct tls_conn*
    - dtls_estab_h*
    - dtls_recv_h*
    - dtls_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 691
    functionName: dtls_set_handlers
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dtls_set_handlers(struct tls_conn *tc, dtls_estab_h *estabh,\n\t\t
      \      dtls_recv_h *recvh, dtls_close_h *closeh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: dtls_peer
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *dtls_peer(const struct tls_conn *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:718,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:719,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tc
    - peer
    argTypes:
    - struct tls_conn*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 722
    functionName: dtls_set_peer
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - hash_append
    - hash_unlink
    - sa_hash
    linkageType: ''
    returnType: void
    signature: void dtls_set_peer(struct tls_conn *tc, const struct sa *peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_clear
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:729,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:730,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:731,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:732,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: sock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - hash_clear
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void sock_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:748,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:748,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sock
    - peer
    argTypes:
    - struct dtls_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: conn_lookup
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - sa_hash
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct tls_conn
    signature: "struct tls_conn *conn_lookup(struct dtls_sock *sock,\n\t\t\t\t    const
      struct sa *peer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:759,1
    - Dst: conn_lookup
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:766,1
    - Dst: conn_recv
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:768,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:774,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:775,1
    - Dst: struct dtls_sock*::connh
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 782
    functionName: recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - mem_ref
    - mem_deref
    - struct dtls_sock*::connh
    - mbuf_get_left
    - conn_recv
    - conn_lookup
    linkageType: ''
    returnType: bool
    signature: bool recv_handler(struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:808,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:813,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:816,1
    - Dst: udp_register_helper
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:821,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:826,1
    - Dst: hash_valid_size
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:826,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:836,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - sockp
    - laddr
    - us
    - htsize
    - layer
    - connh
    - arg
    argTypes:
    - struct dtls_sock**
    - struct sa*
    - struct udp_sock*
    - uint32_t
    - int
    - dtls_conn_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 841
    functionName: dtls_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - hash_alloc
    - mem_ref
    - mem_deref
    - udp_listen
    - mem_zalloc
    - hash_valid_size
    - udp_register_helper
    linkageType: ''
    returnType: int
    signature: "int dtls_listen(struct dtls_sock **sockp, const struct sa *laddr,\n\t\tstruct
      udp_sock *us, uint32_t htsize, int layer,\n\t\tdtls_conn_h *connh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct dtls_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: dtls_udp_sock
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct udp_sock
    signature: struct udp_sock *dtls_udp_sock(struct dtls_sock *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sock
    - mtu
    argTypes:
    - struct dtls_sock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 869
    functionName: dtls_set_mtu
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dtls_set_mtu(struct dtls_sock *sock, size_t mtu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv_handler
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - sock
    - src
    - mb
    argTypes:
    - struct dtls_sock*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 883
    functionName: dtls_recv_packet
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    functionUses: 0
    functionsReached:
    - recv_handler
    linkageType: ''
    returnType: void
    signature: "void dtls_recv_packet(struct dtls_sock *sock, const struct sa *src,\n\t\t
      \     struct mbuf *mb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:50,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:53,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - X509_free
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:66,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:68,1
    - Dst: strncpy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:71,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: password_cb
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - DEBUG_NOTICE
    - strlen
    - strncpy
    linkageType: ''
    returnType: int
    signature: int password_cb(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum tls_keytype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: keytype2int
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keytype2int(enum tls_keytype type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:109,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:116,1
    - Dst: SSLv23_method
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:116,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:124,1
    - Dst: DTLS_method
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:124,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:126,1
    - Dst: DTLSv1_method
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:126,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:134,1
    - Dst: DTLS_method
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:134,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:141,1
    - Dst: DTLS_method
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:141,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:143,1
    - Dst: DTLSv1_2_method
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:143,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:151,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:157,1
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:163,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:169,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:173,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:174,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:177,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:179,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:181,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:186,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:189,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:191,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:200,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 4
    argNames:
    - tlsp
    - method
    - keyfile
    - pwd
    argTypes:
    - struct tls**
    - enum tls_method
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 205
    functionName: tls_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - str_dup
    - SSL_CTX_set_default_passwd_cb
    - SSL_CTX_set_verify_depth
    - DTLS_method
    - DTLSv1_method
    - mem_deref
    - DTLSv1_2_method
    - DEBUG_WARNING
    - SSL_CTX_new
    - SSLv23_method
    - ERR_clear_error
    - SSL_CTX_set_default_passwd_cb_userdata
    - mem_zalloc
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_use_PrivateKey_file
    linkageType: ''
    returnType: int
    signature: "int tls_alloc(struct tls **tlsp, enum tls_method method, const char
      *keyfile,\n\t      const char *pwd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:222,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:223,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tls
    - cafile
    argTypes:
    - struct tls*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: tls_add_ca
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_load_verify_locations
    - ERR_clear_error
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int tls_add_ca(struct tls *tls, const char *cafile)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:252,1
    - Dst: BN_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:256,1
    - Dst: BN_set_word
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:260,1
    - Dst: RSA_generate_key_ex
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:261,1
    - Dst: EVP_PKEY_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:264,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:268,1
    - Dst: X509_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:271,1
    - Dst: X509_set_version
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:275,1
    - Dst: ASN1_INTEGER_set
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:278,1
    - Dst: X509_get_serialNumber
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:278,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:278,1
    - Dst: X509_NAME_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:281,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:285,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:287,1
    - Dst: X509_set_issuer_name
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:290,1
    - Dst: X509_set_subject_name
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:291,1
    - Dst: X509_gmtime_adj
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:294,1
    - Dst: X509_get_notBefore
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:294,1
    - Dst: X509_gmtime_adj
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:295,1
    - Dst: X509_get_notAfter
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:295,1
    - Dst: X509_set_pubkey
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:298,1
    - Dst: X509_sign
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:301,1
    - Dst: EVP_sha1
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:301,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:304,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:308,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:313,1
    - Dst: X509_NAME_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:322,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:325,1
    - Dst: EVP_PKEY_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:328,1
    - Dst: RSA_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:331,1
    - Dst: BN_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:334,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:337,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 79
    argCount: 2
    argNames:
    - tls
    - cn
    argTypes:
    - struct tls*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 340
    functionName: tls_set_selfsigned
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_certificate
    - RSA_free
    - X509_get_serialNumber
    - X509_new
    - EVP_PKEY_free
    - ASN1_INTEGER_set
    - X509_sign
    - RSA_generate_key_ex
    - X509_NAME_free
    - X509_set_issuer_name
    - X509_NAME_add_entry_by_txt
    - X509_set_subject_name
    - EVP_PKEY_new
    - X509_set_version
    - X509_gmtime_adj
    - X509_free
    - SSL_CTX_use_PrivateKey
    - BN_new
    - BN_free
    - ERR_clear_error
    - BN_set_word
    - X509_set_pubkey
    - EVP_PKEY_set1_RSA
    - RSA_new
    - X509_NAME_new
    - EVP_sha1
    - rand_u32
    - X509_get_notAfter
    - X509_get_notBefore
    - strlen
    linkageType: ''
    returnType: int
    signature: int tls_set_selfsigned(struct tls *tls, const char *cn)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:370,1
    - Dst: BIO_new_mem_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:371,1
    - Dst: PEM_read_bio_X509
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:375,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:376,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:380,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:384,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:386,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:391,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:400,1
    - Dst: EVP_PKEY_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:402,1
    - Dst: BIO_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:404,1
    - Dst: BIO_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:406,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:408,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 5
    argNames:
    - tls
    - cert
    - len_cert
    - key
    - len_key
    argTypes:
    - struct tls*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 411
    functionName: tls_set_certificate_pem
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - X509_free
    - SSL_CTX_use_certificate
    - SSL_CTX_use_PrivateKey
    - ERR_clear_error
    - DEBUG_WARNING
    - EVP_PKEY_free
    - PEM_read_bio_PrivateKey
    - PEM_read_bio_X509
    - BIO_new_mem_buf
    linkageType: ''
    returnType: int
    signature: "int tls_set_certificate_pem(struct tls *tls, const char *cert, size_t
      len_cert,\n\t\t\t    const char *key, size_t len_key)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: keytype2int
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:438,1
    - Dst: d2i_X509
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:444,1
    - Dst: d2i_PrivateKey
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:453,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:457,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:461,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:463,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:468,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:477,1
    - Dst: EVP_PKEY_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:479,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:481,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 6
    argNames:
    - tls
    - keytype
    - cert
    - len_cert
    - key
    - len_key
    argTypes:
    - struct tls*
    - enum tls_keytype
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 484
    functionName: tls_set_certificate_der
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - X509_free
    - SSL_CTX_use_certificate
    - SSL_CTX_use_PrivateKey
    - ERR_clear_error
    - DEBUG_WARNING
    - d2i_PrivateKey
    - d2i_X509
    - EVP_PKEY_free
    - keytype2int
    linkageType: ''
    returnType: int
    signature: "int tls_set_certificate_der(struct tls *tls, enum tls_keytype keytype,\n\t\t\t
      \   const uint8_t *cert, size_t len_cert,\n\t\t\t    const uint8_t *key, size_t
      len_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_set_certificate_pem
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tls
    - pem
    - len
    argTypes:
    - struct tls*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: tls_set_certificate
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - tls_set_certificate_pem
    linkageType: ''
    returnType: int
    signature: int tls_set_certificate(struct tls *tls, const char *pem, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: verify_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int verify_handler(int ok, X509_STORE_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_verify_depth
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:521,1
    - Dst: SSL_CTX_set_verify
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tls
    argTypes:
    - struct tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: tls_set_verify_client
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_verify
    - SSL_CTX_set_verify_depth
    linkageType: ''
    returnType: void
    signature: void tls_set_verify_client(struct tls *tls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_tlsext_use_srtp
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:541,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - tls
    - suites
    argTypes:
    - struct tls*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 553
    functionName: tls_set_srtp
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_tlsext_use_srtp
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int tls_set_srtp(struct tls *tls, const char *suites)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: X509_digest
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:568,1
    - Dst: EVP_sha1
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:568,1
    - Dst: X509_digest
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:575,1
    - Dst: EVP_sha256
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:575,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - cert
    - type
    - md
    - size
    argTypes:
    - X509*
    - enum tls_fingerprint
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 588
    functionName: cert_fingerprint
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - X509_digest
    - EVP_sha256
    - ERR_clear_error
    - EVP_sha1
    linkageType: ''
    returnType: int
    signature: "int cert_fingerprint(X509 *cert, enum tls_fingerprint type,\n\t\t\t
      \   uint8_t *md, size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cert_fingerprint
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - tls
    - type
    - md
    - size
    argTypes:
    - struct tls*
    - enum tls_fingerprint
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: tls_fingerprint
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - cert_fingerprint
    linkageType: ''
    returnType: int
    signature: "int tls_fingerprint(const struct tls *tls, enum tls_fingerprint type,\n\t\t
      \   uint8_t *md, size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:630,1
    - Dst: cert_fingerprint
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:634,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tc
    - type
    - md
    - size
    argTypes:
    - struct tls_conn*
    - enum tls_fingerprint
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 639
    functionName: tls_peer_fingerprint
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 1
    functionsReached:
    - X509_free
    - cert_fingerprint
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: int
    signature: "int tls_peer_fingerprint(const struct tls_conn *tc, enum tls_fingerprint
      type,\n\t\t\t uint8_t *md, size_t size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:659,1
    - Dst: X509_NAME_get_text_by_NID
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:663,1
    - Dst: X509_get_subject_name
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:663,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:666,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tc
    - cn
    - size
    argTypes:
    - struct tls_conn*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 674
    functionName: tls_peer_common_name
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - X509_free
    - SSL_get_peer_certificate
    - X509_get_subject_name
    - ERR_clear_error
    - X509_NAME_get_text_by_NID
    linkageType: ''
    returnType: int
    signature: int tls_peer_common_name(const struct tls_conn *tc, char *cn, size_t
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 693
    functionName: tls_peer_verify
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_get_verify_result
    linkageType: ''
    returnType: int
    signature: int tls_peer_verify(const struct tls_conn *tc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_selected_srtp_profile
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:721,1
    - Dst: SSL_export_keying_material
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:767,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:768,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:769,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:775,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:776,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:777,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:778,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 6
    argNames:
    - tc
    - suite
    - cli_key
    - cli_key_size
    - srv_key
    - srv_key_size
    argTypes:
    - struct tls_conn*
    - enum srtp_suite*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 791
    functionName: tls_srtp_keyinfo
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 1
    functionsReached:
    - memcpy
    - ERR_clear_error
    - SSL_get_selected_srtp_profile
    - SSL_export_keying_material
    - strlen
    linkageType: ''
    returnType: int
    signature: "int tls_srtp_keyinfo(const struct tls_conn *tc, enum srtp_suite *suite,\n\t\t
      \    uint8_t *cli_key, size_t cli_key_size,\n\t\t     uint8_t *srv_key, size_t
      srv_key_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_cipher_name
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 807
    functionName: tls_cipher_name
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_get_cipher_name
    linkageType: ''
    returnType: char
    signature: char *tls_cipher_name(const struct tls_conn *tc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:828,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:834,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:839,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:843,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:845,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:851,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - tls
    - cipherv
    - count
    argTypes:
    - struct tls*
    - char*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 854
    functionName: tls_set_ciphers
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cipher_list
    - mem_deref
    - ERR_clear_error
    - mbuf_printf
    - mbuf_write_u8
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int tls_set_ciphers(struct tls *tls, const char *cipherv[], size_t
      count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_tlsext_host_name
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:870,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:871,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tc
    - servername
    argTypes:
    - struct tls_conn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 877
    functionName: tls_set_servername
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - DEBUG_WARNING
    - SSL_set_tlsext_host_name
    linkageType: ''
    returnType: int
    signature: int tls_set_servername(struct tls_conn *tc, const char *servername)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_hostflags
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:896,1
    - Dst: SSL_set1_host
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:897,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:898,1
    - Dst: SSL_set_verify
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tc
    - host
    argTypes:
    - struct tls_conn*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 911
    functionName: tls_set_verify_server
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - SSL_set_hostflags
    - SSL_set1_host
    - ERR_clear_error
    - SSL_set_verify
    linkageType: ''
    returnType: int
    signature: int tls_set_verify_server(struct tls_conn *tc, const char *host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - str
    - len
    - unused
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 920
    functionName: print_error
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int print_error(const char *str, size_t len, void *unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: tls_flush_error
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 4
    functionsReached:
    - ERR_print_errors_cb
    linkageType: ''
    returnType: void
    signature: void tls_flush_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls
    argTypes:
    - struct tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: tls_openssl_context
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ssl_ctx_st
    signature: struct ssl_ctx_st *tls_openssl_context(const struct tls *tls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:47,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:49,1
    - Dst: SSL_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:51,1
    - Dst: BIO_meth_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:56,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:59,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - mem_deref
    - SSL_free
    - ERR_clear_error
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:67,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:68,1
    - Dst: BIO_set_flags
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: bio_create
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_set_flags
    linkageType: ''
    returnType: int
    signature: int bio_create(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:87,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:88,1
    - Dst: BIO_set_flags
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: bio_destroy
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_set_data
    - BIO_set_flags
    linkageType: ''
    returnType: int
    signature: int bio_destroy(BIO *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:103,1
    - Dst: tcp_send_helper
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - b
    - buf
    - len
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: bio_write
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - BIO_get_data
    - tcp_send_helper
    linkageType: ''
    returnType: int
    signature: int bio_write(BIO *b, const char *buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - b
    - cmd
    - num
    - ptr
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: bio_ctrl
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long bio_ctrl(BIO *b, int cmd, long num, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:143,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:145,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:146,1
    - Dst: BIO_meth_set_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:150,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:151,1
    - Dst: BIO_meth_set_create
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:152,1
    - Dst: BIO_meth_set_destroy
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: bio_method_tcp
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - BIO_meth_set_ctrl
    - DEBUG_WARNING
    - ERR_clear_error
    - BIO_meth_set_create
    - BIO_meth_set_destroy
    - BIO_meth_set_write
    - BIO_meth_new
    linkageType: ''
    returnType: BIO_METHOD
    signature: BIO_METHOD *bio_method_tcp(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:180,1
    - Dst: SSL_connect
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:182,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:184,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:186,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: tls_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 4
    functionsReached:
    - SSL_connect
    - ERR_clear_error
    - DEBUG_WARNING
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int tls_connect(struct tls_conn *tc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:209,1
    - Dst: SSL_accept
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:211,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:213,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:215,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tls_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: tls_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 3
    functionsReached:
    - SSL_accept
    - ERR_clear_error
    - DEBUG_WARNING
    - SSL_get_error
    linkageType: ''
    returnType: int
    signature: int tls_accept(struct tls_conn *tc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:238,1
    - Dst: tls_connect
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - err
    - active
    - arg
    argTypes:
    - int*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - tls_connect
    linkageType: ''
    returnType: bool
    signature: bool estab_handler(int *err, bool active, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:256,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:256,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:256,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:258,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:259,1
    - Dst: SSL_state
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:264,1
    - Dst: tls_connect
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:272,1
    - Dst: tls_accept
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:275,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:278,1
    - Dst: SSL_state
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:278,1
    - Dst: SSL_state
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:281,1
    - Dst: mbuf_set_pos
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:288,1
    - Dst: mbuf_get_space
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:293,1
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:294,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:299,1
    - Dst: SSL_read
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:301,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:301,1
    - Dst: mbuf_get_space
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:301,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:303,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:305,1
    - Dst: mbuf_set_end
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:324,1
    - Dst: mbuf_set_pos
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - err
    - mb
    - estab
    - arg
    argTypes:
    - int*
    - struct mbuf*
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 328
    functionName: recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 1
    functionsReached:
    - mbuf_buf
    - SSL_get_error
    - SSL_read
    - DEBUG_INFO
    - mbuf_set_end
    - ERR_clear_error
    - DEBUG_WARNING
    - tls_accept
    - mbuf_resize
    - tls_connect
    - SSL_state
    - mbuf_get_space
    - mbuf_get_left
    - BIO_write
    - mbuf_set_pos
    linkageType: ''
    returnType: bool
    signature: bool recv_handler(int *err, struct mbuf *mb, bool *estab, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:336,1
    - Dst: SSL_write
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:338,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:338,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:338,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:340,1
    - Dst: SSL_get_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:340,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - err
    - mb
    - arg
    argTypes:
    - int*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 346
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - SSL_get_error
    - ERR_clear_error
    - DEBUG_WARNING
    - mbuf_get_left
    - SSL_write
    linkageType: ''
    returnType: bool
    signature: bool send_handler(int *err, struct mbuf *mb, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:368,1
    - Dst: tcp_register_helper
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:372,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:377,1
    - Dst: bio_method_tcp
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:380,1
    - Dst: SSL_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:390,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:392,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:393,1
    - Dst: BIO_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:397,1
    - Dst: BIO_s_mem
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:397,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:399,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:400,1
    - Dst: BIO_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:406,1
    - Dst: BIO_new
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:408,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:411,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:412,1
    - Dst: BIO_free
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:413,1
    - Dst: BIO_set_data
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:418,1
    - Dst: SSL_set_bio
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:423,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c:429,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - ptc
    - tls
    - tcp
    - layer
    argTypes:
    - struct tls_conn**
    - struct tls*
    - struct tcp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 434
    functionName: tls_start_tcp
    functionSourceFile: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    functionUses: 0
    functionsReached:
    - SSL_set_bio
    - tcp_register_helper
    - mem_ref
    - SSL_new
    - BIO_new
    - mem_deref
    - ERR_clear_error
    - DEBUG_WARNING
    - BIO_s_mem
    - mem_zalloc
    - bio_method_tcp
    - BIO_free
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: "int tls_start_tcp(struct tls_conn **ptc, struct tls *tls, struct tcp_conn
      *tcp,\n\t\t  int layer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: hash_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void hash_destructor(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:48,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:54,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - hp
    - bsize
    argTypes:
    - struct hash**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 67
    functionName: hash_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 4
    functionsReached:
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int hash_alloc(struct hash **hp, uint32_t bsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - h
    - key
    - le
    - data
    argTypes:
    - struct hash*
    - uint32_t
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: hash_append
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 4
    functionsReached:
    - list_append
    linkageType: ''
    returnType: void
    signature: void hash_append(struct hash *h, uint32_t key, struct le *le, void
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: hash_unlink
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 4
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void hash_unlink(struct le *le)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - h
    - key
    - ah
    - arg
    argTypes:
    - struct hash*
    - uint32_t
    - list_apply_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: hash_lookup
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 4
    functionsReached:
    - list_apply
    linkageType: ''
    returnType: struct le
    signature: "struct le *hash_lookup(const struct hash *h, uint32_t key, list_apply_h
      *ah,\n\t\t       void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - h
    - ah
    - arg
    argTypes:
    - struct hash*
    - list_apply_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: hash_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 0
    functionsReached:
    - list_apply
    linkageType: ''
    returnType: struct le
    signature: struct le *hash_apply(const struct hash *h, list_apply_h *ah, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - key
    argTypes:
    - struct hash*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: hash_list
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *hash_list(const struct hash *h, uint32_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: hash_bsize
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_bsize(const struct hash *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: hash_flush
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 2
    functionsReached:
    - list_flush
    linkageType: ''
    returnType: void
    signature: void hash_flush(struct hash *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_clear
      Src: /src/rtpproxy/external/libre/src/hash/hash.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct hash*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: hash_clear
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 1
    functionsReached:
    - list_clear
    linkageType: ''
    returnType: void
    signature: void hash_clear(struct hash *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: hash_valid_size
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_valid_size(uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: hash_joaat
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_joaat(const uint8_t *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/hash/func.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: hash_joaat_ci
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_joaat_ci(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: hash_joaat_str
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_joaat_str(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/hash/func.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: hash_joaat_str_ci
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_joaat_str_ci(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_joaat
      Src: /src/rtpproxy/external/libre/src/hash/func.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: hash_joaat_pl
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - hash_joaat
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_joaat_pl(const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_joaat_ci
      Src: /src/rtpproxy/external/libre/src/hash/func.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: hash_joaat_pl_ci
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - hash_joaat_ci
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_joaat_pl_ci(const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: hashsize
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashsize(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: hashmask
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmask(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: rot
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rot(x,k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: mix
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mix(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: final
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: final(a,b,c)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/rtpproxy/external/libre/src/hash/func.c:203,1
    - Dst: mix
      Src: /src/rtpproxy/external/libre/src/hash/func.c:257,1
    - Dst: mix
      Src: /src/rtpproxy/external/libre/src/hash/func.c:310,1
    - Dst: final
      Src: /src/rtpproxy/external/libre/src/hash/func.c:335,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 201
    argCount: 3
    argNames:
    - key
    - length
    - initval
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 337
    functionName: hashlittle
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - final
    - mix
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashlittle
      Src: /src/rtpproxy/external/libre/src/hash/func.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - k
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: hash_fast
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - hashlittle
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_fast(const char *k, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_fast
      Src: /src/rtpproxy/external/libre/src/hash/func.c:368,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/hash/func.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: hash_fast_str
    functionSourceFile: /src/rtpproxy/external/libre/src/hash/func.c
    functionUses: 0
    functionsReached:
    - hash_fast
    - str_len
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_fast_str(const char *str)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: is_mark
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_mark(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:43,1
    - Dst: is_mark
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: is_unreserved
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - isalnum
    - is_mark
    linkageType: ''
    returnType: bool
    signature: bool is_unreserved(char c)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: is_user_unreserved
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_user_unreserved(int c)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: is_hnv_unreserved
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_hnv_unreserved(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:85,1
    - Dst: is_user_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: is_user
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - is_unreserved
    - is_user_unreserved
    linkageType: ''
    returnType: bool
    signature: bool is_user(char c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: is_password
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - is_unreserved
    linkageType: ''
    returnType: bool
    signature: bool is_password(char c)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: is_param_unreserved
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_param_unreserved(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_param_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:125,1
    - Dst: is_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: is_paramchar
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - is_unreserved
    - is_param_unreserved
    linkageType: ''
    returnType: bool
    signature: bool is_paramchar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_hnv_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:131,1
    - Dst: is_unreserved
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: is_hvalue
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - is_hnv_unreserved
    - is_unreserved
    linkageType: ''
    returnType: bool
    signature: bool is_hvalue(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eh
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:146,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:147,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pf
    - pl
    - eh
    argTypes:
    - struct re_printf*
    - struct pl*
    - esc_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: comp_escape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - eh
    - struct re_printf*::vph
    linkageType: ''
    returnType: int
    signature: int comp_escape(struct re_printf *pf, const struct pl *pl, esc_h *eh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: eh
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:169,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:170,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:176,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:177,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:179,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:182,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pf
    - pl
    - eh
    argTypes:
    - struct re_printf*
    - struct pl*
    - esc_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: comp_unescape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - eh
    - struct re_printf*::vph
    - DEBUG_WARNING
    - ch_hex
    linkageType: ''
    returnType: int
    signature: int comp_unescape(struct re_printf *pf, const struct pl *pl, esc_h
      *eh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_escape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: uri_user_escape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_escape
    linkageType: ''
    returnType: int
    signature: int uri_user_escape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_unescape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: uri_user_unescape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_unescape
    linkageType: ''
    returnType: int
    signature: int uri_user_unescape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_escape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: uri_password_escape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_escape
    linkageType: ''
    returnType: int
    signature: int uri_password_escape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_unescape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: uri_password_unescape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_unescape
    linkageType: ''
    returnType: int
    signature: int uri_password_unescape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_escape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: uri_param_escape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_escape
    linkageType: ''
    returnType: int
    signature: int uri_param_escape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_unescape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: uri_param_unescape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_unescape
    linkageType: ''
    returnType: int
    signature: int uri_param_unescape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_escape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: uri_header_escape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_escape
    linkageType: ''
    returnType: int
    signature: int uri_header_escape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comp_unescape
      Src: /src/rtpproxy/external/libre/src/uri/uric.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - pl
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: uri_header_unescape
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uric.c
    functionUses: 0
    functionsReached:
    - comp_unescape
    linkageType: ''
    returnType: int
    signature: int uri_header_unescape(struct re_printf *pf, const struct pl *pl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:30,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:30,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:33,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:37,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:38,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:40,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:41,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:43,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:54,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:59,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:66,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:68,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pf
    - uri
    argTypes:
    - struct re_printf*
    - struct uri*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 71
    functionName: uri_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - struct re_printf*::vph
    - pl_isset
    linkageType: ''
    returnType: int
    signature: int uri_encode(struct re_printf *pf, const struct uri *uri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:90,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - hostport
    - host
    - port
    argTypes:
    - struct pl*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: uri_decode_hostport
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - re_regex
    linkageType: ''
    returnType: int
    signature: "int uri_decode_hostport(const struct pl *hostport, struct pl *host,\n\t\t\tstruct
      pl *port)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:118,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:119,1
    - Dst: uri_decode_hostport
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:124,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:128,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:129,1
    - Dst: uri_decode_hostport
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:132,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:141,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:142,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:146,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - uri
    - pl
    argTypes:
    - struct uri*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: uri_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - sa_set
    - sa_af
    - pl_isset
    - uri_decode_hostport
    - pl_u32
    - re_regex
    - memset
    linkageType: ''
    returnType: int
    signature: int uri_decode(struct uri *uri, const struct pl *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:170,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pl
    - pname
    - pvalue
    argTypes:
    - struct pl*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: uri_param_get
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: int
    signature: "int uri_param_get(const struct pl *pl, const struct pl *pname,\n\t\t
      \ struct pl *pvalue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:197,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:202,1
    - Dst: ah
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pl
    - ah
    - arg
    argTypes:
    - struct pl*
    - uri_apply_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 210
    functionName: uri_params_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - ah
    - pl_advance
    - re_regex
    linkageType: ''
    returnType: int
    signature: int uri_params_apply(const struct pl *pl, uri_apply_h *ah, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:230,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pl
    - hname
    - hvalue
    argTypes:
    - struct pl*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: uri_header_get
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: int
    signature: "int uri_header_get(const struct pl *pl, const struct pl *hname,\n\t\t
      \  struct pl *hvalue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:257,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:262,1
    - Dst: ah
      Src: /src/rtpproxy/external/libre/src/uri/uri.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pl
    - ah
    - arg
    argTypes:
    - struct pl*
    - uri_apply_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: uri_headers_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/uri/uri.c
    functionUses: 0
    functionsReached:
    - ah
    - pl_advance
    - re_regex
    linkageType: ''
    returnType: int
    signature: int uri_headers_apply(const struct pl *pl, uri_apply_h *ah, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - stp
    - mode
    - key
    - key_bits
    - iv
    argTypes:
    - struct aes**
    - enum aes_mode
    - uint8_t*
    - size_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: aes_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/stub.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int aes_alloc(struct aes **stp, enum aes_mode mode,\n\t      const
      uint8_t *key, size_t key_bits,\n\t      const uint8_t iv[AES_BLOCK_SIZE])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - st
    - iv
    argTypes:
    - struct aes*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: aes_set_iv
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/stub.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void aes_set_iv(struct aes *st, const uint8_t iv[AES_BLOCK_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - st
    - out
    - in
    - len
    argTypes:
    - struct aes*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: aes_encr
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/stub.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_encr(struct aes *st, uint8_t *out, const uint8_t *in, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - st
    - out
    - in
    - len
    argTypes:
    - struct aes*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: aes_decr
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/stub.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_decr(struct aes *st, uint8_t *out, const uint8_t *in, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aes
    - tag
    - taglen
    argTypes:
    - struct aes*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: aes_get_authtag
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/stub.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_get_authtag(struct aes *aes, uint8_t *tag, size_t taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aes
    - tag
    - taglen
    argTypes:
    - struct aes*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: aes_authenticate
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/stub.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_authenticate(struct aes *aes, const uint8_t *tag, size_t taglen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 0
    functionsReached:
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:46,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:56,1
    - Dst: CCCryptorCreateWithMode
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:59,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - stp
    - mode
    - key
    - key_bits
    - iv
    argTypes:
    - struct aes**
    - enum aes_mode
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 75
    functionName: aes_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 2
    functionsReached:
    - mem_deref
    - mem_zalloc
    - CCCryptorCreateWithMode
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int aes_alloc(struct aes **stp, enum aes_mode mode,\n\t      const
      uint8_t *key, size_t key_bits,\n\t      const uint8_t *iv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorRelease
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:87,1
    - Dst: CCCryptorCreateWithMode
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:91,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - st
    - iv
    argTypes:
    - struct aes*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: aes_set_iv
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 4
    functionsReached:
    - CCCryptorCreateWithMode
    - re_fprintf
    - CCCryptorRelease
    linkageType: ''
    returnType: void
    signature: void aes_set_iv(struct aes *st, const uint8_t *iv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CCCryptorUpdate
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:111,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - st
    - out
    - in
    - len
    argTypes:
    - struct aes*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: aes_encr
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 3
    functionsReached:
    - CCCryptorUpdate
    - re_fprintf
    linkageType: ''
    returnType: int
    signature: int aes_encr(struct aes *st, uint8_t *out, const uint8_t *in, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_encr
      Src: /src/rtpproxy/external/libre/src/aes/apple/aes.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - out
    - in
    - len
    argTypes:
    - struct aes*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: aes_decr
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 2
    functionsReached:
    - aes_encr
    linkageType: ''
    returnType: int
    signature: int aes_decr(struct aes *st, uint8_t *out, const uint8_t *in, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aes
    - tag
    - taglen
    argTypes:
    - struct aes*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: aes_get_authtag
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_get_authtag(struct aes *aes, uint8_t *tag, size_t taglen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - aes
    - tag
    - taglen
    argTypes:
    - struct aes*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: aes_authenticate
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int aes_authenticate(struct aes *aes, const uint8_t *tag, size_t taglen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_ctr
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:29,1
    - Dst: EVP_aes_192_ctr
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:30,1
    - Dst: EVP_aes_256_ctr
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:31,1
    - Dst: EVP_aes_128_gcm
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:40,1
    - Dst: EVP_aes_256_gcm
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - mode
    - key_bits
    argTypes:
    - enum aes_mode
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: aes_cipher
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 0
    functionsReached:
    - EVP_aes_192_ctr
    - EVP_aes_256_gcm
    - EVP_aes_128_gcm
    - EVP_aes_256_ctr
    - EVP_aes_128_ctr
    linkageType: ''
    returnType: EVP_CIPHER
    signature: EVP_CIPHER *aes_cipher(enum aes_mode mode, size_t key_bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:57,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - aes
    - encr
    argTypes:
    - struct aes*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: set_crypt_dir
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 0
    functionsReached:
    - EVP_CipherInit_ex
    - ERR_clear_error
    linkageType: ''
    returnType: bool
    signature: bool set_crypt_dir(struct aes *aes, bool encr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:76,1
    - Dst: EVP_CIPHER_CTX_cleanup
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:79,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_cleanup
    - EVP_CIPHER_CTX_free
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: aes_cipher
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:96,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:100,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:108,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:110,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:116,1
    - Dst: EVP_CIPHER_CTX_init
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:122,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:125,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:127,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - aesp
    - mode
    - key
    - key_bits
    - iv
    argTypes:
    - struct aes**
    - enum aes_mode
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 138
    functionName: aes_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_init
    - EVP_CIPHER_CTX_new
    - aes_cipher
    - mem_deref
    - ERR_clear_error
    - mem_zalloc
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: "int aes_alloc(struct aes **aesp, enum aes_mode mode,\n\t      const
      uint8_t *key, size_t key_bits,\n\t      const uint8_t *iv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CipherInit_ex
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:148,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - aes
    - iv
    argTypes:
    - struct aes*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: aes_set_iv
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 4
    functionsReached:
    - EVP_CipherInit_ex
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: void aes_set_iv(struct aes *aes, const uint8_t *iv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_crypt_dir
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:161,1
    - Dst: EVP_EncryptUpdate
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:164,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - aes
    - out
    - in
    - len
    argTypes:
    - struct aes*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: aes_encr
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 4
    functionsReached:
    - EVP_EncryptUpdate
    - set_crypt_dir
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int aes_encr(struct aes *aes, uint8_t *out, const uint8_t *in, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_crypt_dir
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:180,1
    - Dst: EVP_DecryptUpdate
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:183,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - aes
    - out
    - in
    - len
    argTypes:
    - struct aes*
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: aes_decr
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 2
    functionsReached:
    - set_crypt_dir
    - ERR_clear_error
    - EVP_DecryptUpdate
    linkageType: ''
    returnType: int
    signature: int aes_decr(struct aes *aes, uint8_t *out, const uint8_t *in, size_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_EncryptFinal_ex
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:211,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:212,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:216,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - aes
    - tag
    - taglen
    argTypes:
    - struct aes*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 227
    functionName: aes_get_authtag
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - ERR_clear_error
    - EVP_EncryptFinal_ex
    linkageType: ''
    returnType: int
    signature: int aes_get_authtag(struct aes *aes, uint8_t *tag, size_t taglen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:251,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:253,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:257,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/aes/openssl/aes.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - aes
    - tag
    - taglen
    argTypes:
    - struct aes*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 267
    functionName: aes_authenticate
    functionSourceFile: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: int aes_authenticate(struct aes *aes, const uint8_t *tag, size_t taglen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:21,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:26,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:30,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:34,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:35,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:39,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:43,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:47,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:51,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:56,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:57,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 61
    functionName: rr_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void rr_destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: dns_rr_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached:
    - mem_zalloc
    linkageType: ''
    returnType: struct dnsrr
    signature: struct dnsrr *dns_rr_alloc(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:99,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:100,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:100,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:101,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:101,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:102,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:102,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:103,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:103,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:110,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:110,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:114,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:119,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:124,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:126,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:128,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:128,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:129,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:129,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:130,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:130,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:131,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:131,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:132,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:132,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:136,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:141,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:141,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:142,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:148,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:151,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:153,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:154,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:162,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:166,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:166,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:167,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:167,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:168,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:168,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:169,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:174,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:174,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:175,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:175,1
    - Dst: dns_cstr_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:176,1
    - Dst: dns_cstr_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:177,1
    - Dst: dns_cstr_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:178,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:179,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:194,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:194,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 5
    argNames:
    - mb
    - rr
    - ttl_offs
    - ht_dname
    - start
    argTypes:
    - struct mbuf*
    - struct dnsrr*
    - int64_t
    - struct hash*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 198
    functionName: dns_rr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_write_u32
    - min
    - dns_cstr_encode
    - str_len
    - dns_dname_encode
    - htons
    - mbuf_write_u8
    - htonl
    linkageType: ''
    returnType: int
    signature: "int dns_rr_encode(struct mbuf *mb, const struct dnsrr *rr, int64_t
      ttl_offs,\n\t\t  struct hash *ht_dname, size_t start)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: dns_rr_alloc
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:220,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:224,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:228,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:231,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:231,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:232,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:232,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:233,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:233,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:234,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:234,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:236,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:245,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:245,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:249,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:256,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:263,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:267,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:271,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:274,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:274,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:275,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:275,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:276,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:276,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:277,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:277,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:278,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:278,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:282,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:289,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:292,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:292,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:294,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:301,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:311,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:316,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:329,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:335,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:338,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:338,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:339,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:339,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:340,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:340,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:342,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:349,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:352,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:352,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:353,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:353,1
    - Dst: dns_cstr_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:355,1
    - Dst: dns_cstr_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:359,1
    - Dst: dns_cstr_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:363,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:367,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:385,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 148
    argCount: 3
    argNames:
    - mb
    - rr
    - start
    argTypes:
    - struct mbuf*
    - struct dnsrr**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 388
    functionName: dns_rr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - mbuf_read_mem
    - mem_deref
    - dns_cstr_decode
    - ntohs
    - mbuf_read_u32
    - ntohl
    - dns_dname_decode
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    - dns_rr_alloc
    linkageType: ''
    returnType: int
    signature: int dns_rr_decode(struct mbuf *mb, struct dnsrr **rr, size_t start)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:414,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:429,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:435,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:442,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:445,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:466,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:476,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:483,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:490,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:505,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:518,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:523,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:528,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:533,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 3
    argNames:
    - rr1
    - rr2
    - rdata
    argTypes:
    - struct dnsrr*
    - struct dnsrr*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 544
    functionName: dns_rr_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - str_casecmp
    linkageType: ''
    returnType: bool
    signature: bool dns_rr_cmp(const struct dnsrr *rr1, const struct dnsrr *rr2, bool
      rdata)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 573
    functionName: dns_rr_typename
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dns_rr_typename(uint16_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dnsclass
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: dns_rr_classname
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dns_rr_classname(uint16_t dnsclass)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:612,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:615,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:617,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:619,1
    - Dst: dns_rr_classname
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:621,1
    - Dst: dns_rr_typename
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:622,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:627,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:628,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:632,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:636,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:640,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:651,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:655,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:660,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:664,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:665,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:669,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:677,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/dns/rr.c:687,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - pf
    - rr
    argTypes:
    - struct re_printf*
    - struct dnsrr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 602
    functionDepth: 4
    functionLinenumber: 602
    functionLinenumberEnd: 692
    functionName: dns_rr_print
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rr.c
    functionUses: 0
    functionsReached:
    - sa_set_in
    - dns_rr_classname
    - re_hprintf
    - sa_set_in6
    - struct re_printf*::vph
    - dns_rr_typename
    - str_len
    linkageType: ''
    returnType: int
    signature: int dns_rr_print(struct re_printf *pf, const struct dnsrr *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:32,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:44,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:48,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:49,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:53,1
    - Dst: hash_joaat_str_ci
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ht_dname
    - name
    - pos
    argTypes:
    - struct hash*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: dname_append
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 0
    functionsReached:
    - str_dup
    - hash_append
    - mem_deref
    - hash_joaat_str_ci
    - mem_zalloc
    linkageType: ''
    returnType: void
    signature: void dname_append(struct hash *ht_dname, const char *name, size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: lookup_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 0
    functionsReached:
    - str_casecmp
    linkageType: ''
    returnType: bool
    signature: bool lookup_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:69,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:69,1
    - Dst: hash_joaat_str_ci
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht_dname
    - name
    argTypes:
    - struct hash*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: dname_lookup
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 0
    functionsReached:
    - hash_joaat_str_ci
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct dname
    signature: "struct dname *dname_lookup(struct hash *ht_dname,\n\t\t\t\t\t const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:76,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - pos
    argTypes:
    - struct mbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: dname_encode_pointer
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u16
    - htons
    linkageType: ''
    returnType: int
    signature: int dname_encode_pointer(struct mbuf *mb, size_t pos)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dname_lookup
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:101,1
    - Dst: dname_encode_pointer
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:103,1
    - Dst: dname_append
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:107,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:108,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:122,1
    - Dst: dname_lookup
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:131,1
    - Dst: dname_encode_pointer
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:133,1
    - Dst: dname_append
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:139,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:140,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:143,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 5
    argNames:
    - mb
    - name
    - ht_dname
    - start
    - comp
    argTypes:
    - struct mbuf*
    - char*
    - struct hash*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 150
    functionName: dns_dname_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 1
    functionsReached:
    - dname_encode_pointer
    - dname_lookup
    - dname_append
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: "int dns_dname_encode(struct mbuf *mb, const char *name,\n\t\t     struct
      hash *ht_dname, size_t start, bool comp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:181,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:185,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:197,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:200,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:200,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/dname.c:209,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 3
    argNames:
    - mb
    - name
    - start
    argTypes:
    - struct mbuf*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 222
    functionName: dns_dname_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/dname.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - str_ncpy
    - ntohs
    - mbuf_read_u16
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int dns_dname_decode(struct mbuf *mb, char **name, size_t start)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:36,1
    - Dst: hash_fast_str
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - rr
    - key
    argTypes:
    - struct dnsrr*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 26
    functionDepth: 4
    functionLinenumber: 26
    functionLinenumberEnd: 47
    functionName: sidx
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached:
    - hash_fast_str
    - memcpy
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sidx(const struct dnsrr *rr, uint32_t key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sidx
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:69,1
    - Dst: sidx
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - le1
    - le2
    - arg
    argTypes:
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 84
    functionName: std_sort_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached:
    - sidx
    linkageType: ''
    returnType: bool
    signature: bool std_sort_handler(struct le *le1, struct le *le2, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sidx
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:93,1
    - Dst: sidx
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - le1
    - le2
    - arg
    argTypes:
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: addr_sort_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached:
    - sidx
    linkageType: ''
    returnType: bool
    signature: bool addr_sort_handler(struct le *le1, struct le *le2, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_sort
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rrl
    - type
    - key
    argTypes:
    - struct list*
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: dns_rrlist_sort
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 1
    functionsReached:
    - list_sort
    linkageType: ''
    returnType: void
    signature: void dns_rrlist_sort(struct list *rrl, uint16_t type, size_t key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_sort
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rrl
    - key
    argTypes:
    - struct list*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: dns_rrlist_sort_addr
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached:
    - list_sort
    linkageType: ''
    returnType: void
    signature: void dns_rrlist_sort_addr(struct list *rrl, size_t key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:132,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:143,1
    - Dst: rrlh
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:154,1
    - Dst: rrlist_apply
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:161,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 20
    argCount: 9
    argNames:
    - rrl
    - name
    - type1
    - type2
    - dnsclass
    - recurse
    - depth
    - rrlh
    - arg
    argTypes:
    - struct list*
    - char*
    - uint16_t
    - uint16_t
    - uint16_t
    - bool
    - uint32_t
    - dns_rrlist_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 170
    functionName: rrlist_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 1
    functionsReached:
    - rrlh
    - rrlist_apply
    - list_head
    - str_casecmp
    linkageType: ''
    returnType: struct dnsrr
    signature: "struct dnsrr *rrlist_apply(struct list *rrl, const char *name,\n\t\t\t\t
      \ uint16_t type1, uint16_t type2,\n\t\t\t\t  uint16_t dnsclass,\n\t\t\t\t  bool
      recurse, uint32_t depth,\n\t\t\t\t  dns_rrlist_h *rrlh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rrlist_apply
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - rrl
    - name
    - type
    - dnsclass
    - recurse
    - rrlh
    - arg
    argTypes:
    - struct list*
    - char*
    - uint16_t
    - uint16_t
    - bool
    - dns_rrlist_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: dns_rrlist_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached:
    - rrlist_apply
    linkageType: ''
    returnType: struct dnsrr
    signature: "struct dnsrr *dns_rrlist_apply(struct list *rrl, const char *name,\n\t\t\t
      \      uint16_t type, uint16_t dnsclass,\n\t\t\t       bool recurse, dns_rrlist_h
      *rrlh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rrlist_apply
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - rrl
    - name
    - type1
    - type2
    - dnsclass
    - recurse
    - rrlh
    - arg
    argTypes:
    - struct list*
    - char*
    - uint16_t
    - uint16_t
    - uint16_t
    - bool
    - dns_rrlist_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: dns_rrlist_apply2
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached:
    - rrlist_apply
    linkageType: ''
    returnType: struct dnsrr
    signature: "struct dnsrr *dns_rrlist_apply2(struct list *rrl, const char *name,\n\t\t\t\tuint16_t
      type1, uint16_t type2,\n\t\t\t\tuint16_t dnsclass, bool recurse,\n\t\t\t\tdns_rrlist_h
      *rrlh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rr
    - arg
    argTypes:
    - struct dnsrr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: find_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool find_handler(struct dnsrr *rr, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rrlist_apply
      Src: /src/rtpproxy/external/libre/src/dns/rrlist.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rrl
    - name
    - type
    - dnsclass
    - recurse
    argTypes:
    - struct list*
    - char*
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: dns_rrlist_find
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/rrlist.c
    functionUses: 3
    functionsReached:
    - rrlist_apply
    linkageType: ''
    returnType: struct dnsrr
    signature: "struct dnsrr *dns_rrlist_find(struct list *rrl, const char *name,\n\t\t\t
      \     uint16_t type, uint16_t dnsclass, bool recurse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:31,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:33,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - str
    argTypes:
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: dns_cstr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/cstr.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - strlen
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int dns_cstr_encode(struct mbuf *mb, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:52,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:55,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:57,1
    - Dst: mbuf_strdup
      Src: /src/rtpproxy/external/libre/src/dns/cstr.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - str
    argTypes:
    - struct mbuf*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: dns_cstr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/cstr.c
    functionUses: 1
    functionsReached:
    - mbuf_read_u8
    - mbuf_get_left
    - mbuf_strdup
    linkageType: ''
    returnType: int
    signature: int dns_cstr_decode(struct mbuf *mb, char **str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/dns/client.c:107,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: rr_unlink_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: bool
    signature: bool rr_unlink_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/dns/client.c:117,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:118,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/dns/client.c:121,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/dns/client.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct dns_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: query_abort
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - list_unlink
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void query_abort(struct dns_query *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query_abort
      Src: /src/rtpproxy/external/libre/src/dns/client.c:131,1
    - Dst: mbuf_reset
      Src: /src/rtpproxy/external/libre/src/dns/client.c:132,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:133,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:135,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/dns/client.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: query_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - mbuf_reset
    - list_apply
    - mem_deref
    - query_abort
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void query_destructor(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_query*::qh
      Src: /src/rtpproxy/external/libre/src/dns/client.c:150,1
    - Dst: query_abort
      Src: /src/rtpproxy/external/libre/src/dns/client.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - q
    - err
    - hdr
    - ansl
    - authl
    - addl
    argTypes:
    - struct dns_query*
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: query_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - struct dns_query*::qh
    - query_abort
    linkageType: ''
    returnType: void
    signature: "void query_handler(struct dns_query *q, int err,\n\t\t\t  const struct
      dnshdr *hdr, struct list *ansl,\n\t\t\t  struct list *authl, struct list *addl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query_handler
      Src: /src/rtpproxy/external/libre/src/dns/client.c:164,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: query_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - query_handler
    linkageType: ''
    returnType: bool
    signature: bool query_close_handler(struct le *le, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/dns/client.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 192
    functionName: query_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - str_casecmp
    linkageType: ''
    returnType: bool
    signature: bool query_cmp_handler(struct le *le, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_hdr_decode
      Src: /src/rtpproxy/external/libre/src/dns/client.c:207,1
    - Dst: dns_dname_decode
      Src: /src/rtpproxy/external/libre/src/dns/client.c:212,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/client.c:216,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/client.c:221,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:221,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/client.c:222,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:222,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/dns/client.c:224,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/dns/client.c:224,1
    - Dst: hash_joaat_str_ci
      Src: /src/rtpproxy/external/libre/src/dns/client.c:224,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:235,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:245,1
    - Dst: dns_rr_decode
      Src: /src/rtpproxy/external/libre/src/dns/client.c:251,1
    - Dst: query_handler
      Src: /src/rtpproxy/external/libre/src/dns/client.c:253,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:254,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/dns/client.c:258,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/dns/client.c:266,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/dns/client.c:266,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/dns/client.c:267,1
    - Dst: list_tail
      Src: /src/rtpproxy/external/libre/src/dns/client.c:267,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/client.c:272,1
    - Dst: query_handler
      Src: /src/rtpproxy/external/libre/src/dns/client.c:277,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:278,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:281,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 2
    argNames:
    - dnsc
    - mb
    argTypes:
    - struct dnsc*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 284
    functionName: reply_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - list_ledata
    - list_append
    - mem_deref
    - tmr_start
    - DEBUG_INFO
    - list_tail
    - ntohs
    - hash_joaat_str_ci
    - list_head
    - dns_dname_decode
    - mbuf_read_u16
    - hash_lookup
    - query_handler
    - mbuf_get_left
    - dns_hdr_decode
    - ARRAY_SIZE
    - dns_rr_decode
    linkageType: ''
    returnType: int
    signature: int reply_recv(struct dnsc *dnsc, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reply_recv
      Src: /src/rtpproxy/external/libre/src/dns/client.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - reply_recv
    linkageType: ''
    returnType: void
    signature: void udp_recv_handler(const struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/dns/client.c:305,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/client.c:305,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/dns/client.c:307,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/dns/client.c:307,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/client.c:317,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:317,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/dns/client.c:323,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/client.c:323,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/dns/client.c:325,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/dns/client.c:325,1
    - Dst: reply_recv
      Src: /src/rtpproxy/external/libre/src/dns/client.c:336,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/client.c:346,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/client.c:347,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/client.c:347,1
    - Dst: tcpconn_close
      Src: /src/rtpproxy/external/libre/src/dns/client.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - mbrx
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 355
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - min
    - tcpconn_close
    - DEBUG_INFO
    - ntohs
    - mbuf_read_u16
    - reply_recv
    - mbuf_get_left
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(struct mbuf *mbrx, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:362,1
    - Dst: tcpconn_close
      Src: /src/rtpproxy/external/libre/src/dns/client.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: tcpconn_timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - tcpconn_close
    - DEBUG_NOTICE
    linkageType: ''
    returnType: void
    signature: void tcpconn_timeout_handler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/dns/client.c:372,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/client.c:375,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/dns/client.c:383,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/client.c:387,1
    - Dst: tcpconn_close
      Src: /src/rtpproxy/external/libre/src/dns/client.c:391,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 398
    functionName: tcp_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - tcpconn_close
    - DEBUG_INFO
    - tmr_start
    - tcp_send
    - list_head
    linkageType: ''
    returnType: void
    signature: void tcp_estab_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:405,1
    - Dst: tcpconn_close
      Src: /src/rtpproxy/external/libre/src/dns/client.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: tcp_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - tcpconn_close
    - DEBUG_NOTICE
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler(int err, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/dns/client.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: tcpconn_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: bool tcpconn_cmp_handler(struct le *le, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/dns/client.c:427,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:428,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/dns/client.c:431,1
    - Dst: send_tcp
      Src: /src/rtpproxy/external/libre/src/dns/client.c:437,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/dns/client.c:439,1
    - Dst: query_handler
      Src: /src/rtpproxy/external/libre/src/dns/client.c:445,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 450
    functionName: tcpconn_fail_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - send_tcp
    - list_unlink
    - mem_deref
    - DEBUG_WARNING
    - query_handler
    linkageType: ''
    returnType: bool
    signature: bool tcpconn_fail_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:459,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/dns/client.c:460,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tc
    - err
    argTypes:
    - struct tcpconn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: tcpconn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 4
    functionsReached:
    - mem_deref
    - list_apply
    linkageType: ''
    returnType: void
    signature: void tcpconn_close(struct tcpconn *tc, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/dns/client.c:469,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/dns/client.c:470,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:471,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: tcpconn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void tcpconn_destructor(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:485,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/dns/client.c:489,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/dns/client.c:489,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:493,1
    - Dst: tcp_connect
      Src: /src/rtpproxy/external/libre/src/dns/client.c:497,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:502,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - tcpp
    - dnsc
    - srv
    argTypes:
    - struct tcpconn**
    - struct dnsc*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 511
    functionName: tcpconn_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - tcp_connect
    - hash_append
    - mem_deref
    - tmr_start
    - mem_zalloc
    - sa_hash
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int tcpconn_alloc(struct tcpconn **tcpp, struct dnsc *dnsc,\n\t\t\t
      const struct sa *srv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:527,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/dns/client.c:529,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/dns/client.c:529,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/dns/client.c:530,1
    - Dst: tcpconn_alloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:534,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/dns/client.c:541,1
    - Dst: tcpconn_close
      Src: /src/rtpproxy/external/libre/src/dns/client.c:543,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:547,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:549,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/dns/client.c:552,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:553,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct dns_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 558
    functionName: send_tcp
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 1
    functionsReached:
    - tcpconn_alloc
    - list_ledata
    - mem_ref
    - tcpconn_close
    - list_append
    - tmr_start
    - DEBUG_NOTICE
    - tcp_send
    - hash_lookup
    - sa_hash
    linkageType: ''
    returnType: int
    signature: int send_tcp(struct dns_query *q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query_handler
      Src: /src/rtpproxy/external/libre/src/dns/client.c:565,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: tcp_timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - query_handler
    linkageType: ''
    returnType: void
    signature: void tcp_timeout_handler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/client.c:583,1
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/dns/client.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - q
    argTypes:
    - struct dns_query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 592
    functionName: send_udp
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - udp_send
    linkageType: ''
    returnType: int
    signature: int send_udp(struct dns_query *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_udp
      Src: /src/rtpproxy/external/libre/src/dns/client.c:603,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:607,1
    - Dst: MIN
      Src: /src/rtpproxy/external/libre/src/dns/client.c:607,1
    - Dst: query_handler
      Src: /src/rtpproxy/external/libre/src/dns/client.c:612,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: udp_timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - send_udp
    - tmr_start
    - query_handler
    - MIN
    linkageType: ''
    returnType: void
    signature: void udp_timeout_handler(void *arg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:635,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/dns/client.c:639,1
    - Dst: hash_joaat_str_ci
      Src: /src/rtpproxy/external/libre/src/dns/client.c:639,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/dns/client.c:640,1
    - Dst: mbuf_init
      Src: /src/rtpproxy/external/libre/src/dns/client.c:641,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:643,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/dns/client.c:644,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/dns/client.c:646,1
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:652,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/dns/client.c:658,1
    - Dst: dns_hdr_encode
      Src: /src/rtpproxy/external/libre/src/dns/client.c:670,1
    - Dst: dns_dname_encode
      Src: /src/rtpproxy/external/libre/src/dns/client.c:674,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:678,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/client.c:678,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:679,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/client.c:679,1
    - Dst: dns_rr_encode
      Src: /src/rtpproxy/external/libre/src/dns/client.c:684,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/client.c:696,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/client.c:696,1
    - Dst: send_tcp
      Src: /src/rtpproxy/external/libre/src/dns/client.c:698,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:702,1
    - Dst: send_udp
      Src: /src/rtpproxy/external/libre/src/dns/client.c:706,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/dns/client.c:710,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:728,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 14
    argNames:
    - qp
    - dnsc
    - opcode
    - name
    - type
    - dnsclass
    - ans_rr
    - proto
    - srvv
    - srvc
    - aa
    - rd
    - qh
    - arg
    argTypes:
    - struct dns_query**
    - struct dnsc*
    - uint8_t
    - char*
    - uint16_t
    - uint16_t
    - struct dnsrr*
    - int
    - struct sa*
    - uint32_t*
    - bool
    - bool
    - dns_query_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 618
    functionDepth: 4
    functionLinenumber: 618
    functionLinenumberEnd: 731
    functionName: query
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 4
    functionsReached:
    - hash_append
    - tmr_init
    - send_tcp
    - dns_hdr_encode
    - hash_joaat_str_ci
    - mem_zalloc
    - mbuf_write_u16
    - mbuf_init
    - tmr_start
    - htons
    - rand_u16
    - str_dup
    - send_udp
    - dns_rr_encode
    - mem_deref
    - dns_dname_encode
    - memset
    - ARRAY_SIZE
    - list_init
    linkageType: ''
    returnType: int
    signature: "int query(struct dns_query **qp, struct dnsc *dnsc, uint8_t opcode,\n\t\t
      const char *name, uint16_t type, uint16_t dnsclass,\n\t\t const struct dnsrr
      *ans_rr, int proto,\n\t\t const struct sa *srvv, const uint32_t *srvc,\n\t\t
      bool aa, bool rd, dns_query_h *qh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/rtpproxy/external/libre/src/dns/client.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - qp
    - dnsc
    - name
    - type
    - dnsclass
    - rd
    - qh
    - arg
    argTypes:
    - struct dns_query**
    - struct dnsc*
    - char*
    - uint16_t
    - uint16_t
    - bool
    - dns_query_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 5
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: dnsc_query
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 2
    functionsReached:
    - query
    linkageType: ''
    returnType: int
    signature: "int dnsc_query(struct dns_query **qp, struct dnsc *dnsc, const char
      *name,\n\t       uint16_t type, uint16_t dnsclass,\n\t       bool rd, dns_query_h
      *qh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/rtpproxy/external/libre/src/dns/client.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - qp
    - dnsc
    - name
    - type
    - dnsclass
    - proto
    - srvv
    - srvc
    - rd
    - qh
    - arg
    argTypes:
    - struct dns_query**
    - struct dnsc*
    - char*
    - uint16_t
    - uint16_t
    - int
    - struct sa*
    - uint32_t*
    - bool
    - dns_query_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 5
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: dnsc_query_srv
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: int
    signature: "int dnsc_query_srv(struct dns_query **qp, struct dnsc *dnsc, const
      char *name,\n\t\t   uint16_t type, uint16_t dnsclass, int proto,\n\t\t   const
      struct sa *srvv, const uint32_t *srvc,\n\t\t   bool rd, dns_query_h *qh, void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query
      Src: /src/rtpproxy/external/libre/src/dns/client.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - qp
    - dnsc
    - name
    - type
    - dnsclass
    - ans_rr
    - proto
    - srvv
    - srvc
    - qh
    - arg
    argTypes:
    - struct dns_query**
    - struct dnsc*
    - char*
    - uint16_t
    - uint16_t
    - struct dnsrr*
    - int
    - struct sa*
    - uint32_t*
    - dns_query_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 804
    functionDepth: 5
    functionLinenumber: 804
    functionLinenumberEnd: 811
    functionName: dnsc_notify
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - query
    linkageType: ''
    returnType: int
    signature: "int dnsc_notify(struct dns_query **qp, struct dnsc *dnsc, const char
      *name,\n\t\tuint16_t type, uint16_t dnsclass, const struct dnsrr *ans_rr,\n\t\tint
      proto, const struct sa *srvv, const uint32_t *srvc,\n\t\tdns_query_h *qh, void
      *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_apply
      Src: /src/rtpproxy/external/libre/src/dns/client.c:818,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/dns/client.c:819,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:821,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:822,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: dnsc_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - hash_flush
    - mem_deref
    - hash_apply
    linkageType: ''
    returnType: void
    signature: void dnsc_destructor(void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:846,1
    - Dst: dnsc_srv_set
      Src: /src/rtpproxy/external/libre/src/dns/client.c:855,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/dns/client.c:859,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:863,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/dns/client.c:867,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/dns/client.c:873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - dcpp
    - conf
    - srvv
    - srvc
    argTypes:
    - struct dnsc**
    - struct dnsc_conf*
    - struct sa*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 878
    functionName: dnsc_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 0
    functionsReached:
    - hash_alloc
    - mem_deref
    - udp_listen
    - dnsc_srv_set
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int dnsc_alloc(struct dnsc **dcpp, const struct dnsc_conf *conf,\n\t
      \      const struct sa *srvv, uint32_t srvc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/dns/client.c:897,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/dns/client.c:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dnsc
    - srvv
    - srvc
    argTypes:
    - struct dnsc*
    - struct sa*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 905
    functionName: dnsc_srv_set
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/client.c
    functionUses: 1
    functionsReached:
    - min
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int dnsc_srv_set(struct dnsc *dnsc, const struct sa *srvv, uint32_t
      srvc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:50,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:50,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:51,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:51,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:52,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:52,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:53,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:53,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:54,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:54,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:55,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct dnshdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 58
    functionName: dns_hdr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/hdr.c
    functionUses: 1
    functionsReached:
    - mbuf_write_u16
    - htons
    linkageType: ''
    returnType: int
    signature: int dns_hdr_encode(struct mbuf *mb, const struct dnshdr *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:73,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:76,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:76,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:77,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:77,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:88,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:88,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:89,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:89,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:90,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:90,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:91,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/dns/hdr.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct dnshdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: dns_hdr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/hdr.c
    functionUses: 1
    functionsReached:
    - ntohs
    - mbuf_get_left
    - mbuf_read_u16
    linkageType: ''
    returnType: int
    signature: int dns_hdr_decode(struct mbuf *mb, struct dnshdr *hdr)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: dns_hdr_opcodename
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/hdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dns_hdr_opcodename(uint8_t opcode)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: dns_hdr_rcodename
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/hdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dns_hdr_rcodename(uint8_t rcode)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:35,1
    - Dst: fscanf
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:44,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:50,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:53,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:54,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:55,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:58,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:59,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:64,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:66,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:68,1
    - Dst: fclose
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - domain
    - dsize
    - srvv
    - n
    argTypes:
    - char*
    - size_t
    - struct sa*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 79
    functionName: parse_resolv_conf
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/ns.c
    functionUses: 0
    functionsReached:
    - fopen
    - sa_set
    - pl_strcpy
    - fscanf
    - pl_isset
    - DEBUG_WARNING
    - fclose
    - re_regex
    - str_len
    linkageType: ''
    returnType: int
    signature: "int parse_resolv_conf(char *domain, size_t dsize,\n\t\t\t     struct
      sa *srvv, uint32_t *n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:90,1
    - Dst: __system_property_get
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:92,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - nsv
    - n
    argTypes:
    - struct sa*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: get_android_dns
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/ns.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - __system_property_get
    - sa_set_str
    linkageType: ''
    returnType: int
    signature: int get_android_dns(struct sa *nsv, uint32_t *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_resolv_dns
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:126,1
    - Dst: get_darwin_dns
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:132,1
    - Dst: parse_resolv_conf
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:137,1
    - Dst: get_windns
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:142,1
    - Dst: get_android_dns
      Src: /src/rtpproxy/external/libre/src/dns/ns.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - domain
    - dsize
    - srvv
    - n
    argTypes:
    - char*
    - size_t
    - struct sa*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: dns_srv_get
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/ns.c
    functionUses: 0
    functionsReached:
    - parse_resolv_conf
    - get_android_dns
    - get_windns
    - get_darwin_dns
    - get_resolv_dns
    linkageType: ''
    returnType: int
    signature: int dns_srv_get(char *domain, size_t dsize, struct sa *srvv, uint32_t
      *n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: res_init
      Src: /src/rtpproxy/external/libre/src/dns/res.c:29,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/dns/res.c:32,1
    - Dst: res_ninit
      Src: /src/rtpproxy/external/libre/src/dns/res.c:33,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/dns/res.c:39,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/dns/res.c:41,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/dns/res.c:49,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/dns/res.c:51,1
    - Dst: res_nclose
      Src: /src/rtpproxy/external/libre/src/dns/res.c:61,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - domain
    - dsize
    - nsv
    - n
    argTypes:
    - char*
    - size_t
    - struct sa*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 65
    functionName: get_resolv_dns
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/res.c
    functionUses: 1
    functionsReached:
    - min
    - res_nclose
    - res_ninit
    - str_ncpy
    - sa_set_sa
    - res_init
    - memset
    linkageType: ''
    returnType: int
    signature: int get_resolv_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t
      *n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:40,1
    - Dst: TEXT
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:40,1
    - Dst: GetProcAddress
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:44,1
    - Dst: TEXT
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:44,1
    - Dst: GlobalAlloc
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:50,1
    - Dst: GlobalFree
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:55,1
    - Dst: GlobalAlloc
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:56,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:60,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:65,1
    - Dst: printf
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:68,1
    - Dst: printf
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:69,1
    - Dst: printf
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:70,1
    - Dst: printf
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:71,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:76,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:77,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:80,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:83,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:92,1
    - Dst: GlobalFree
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:97,1
    - Dst: FreeLibrary
      Src: /src/rtpproxy/external/libre/src/dns/win32/srv.c:98,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - domain
    - dsize
    - srvv
    - n
    argTypes:
    - char*
    - size_t
    - struct sa*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 100
    functionName: get_windns
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/win32/srv.c
    functionUses: 1
    functionsReached:
    - GlobalFree
    - FreeLibrary
    - GlobalAlloc
    - DEBUG_INFO
    - LoadLibrary
    - str_ncpy
    - DEBUG_WARNING
    - TEXT
    - printf
    - sa_set_str
    - strlen
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int get_windns(char *domain, size_t dsize, struct sa *srvv, uint32_t
      *n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCDynamicStoreCreate
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:37,1
    - Dst: CFSTR
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:37,1
    - Dst: CFSTR
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:42,1
    - Dst: SCDynamicStoreCopyValue
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:43,1
    - Dst: CFDictionaryGetValue
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:47,1
    - Dst: CFArrayGetCount
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:51,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:52,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:55,1
    - Dst: CFStringGetCString
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:58,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:61,1
    - Dst: CFDictionaryGetValue
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:66,1
    - Dst: CFArrayGetCount
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:70,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:73,1
    - Dst: CFStringGetCString
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:74,1
    - Dst: CFRelease
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:77,1
    - Dst: CFRelease
      Src: /src/rtpproxy/external/libre/src/dns/darwin/srv.c:79,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - domain
    - dsize
    - nsv
    - n
    argTypes:
    - char*
    - size_t
    - struct sa*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 83
    functionName: get_darwin_dns
    functionSourceFile: /src/rtpproxy/external/libre/src/dns/darwin/srv.c
    functionUses: 1
    functionsReached:
    - min
    - CFDictionaryGetValue
    - CFStringGetCString
    - SCDynamicStoreCreate
    - CFArrayGetValueAtIndex
    - SCDynamicStoreCopyValue
    - sa_set_str
    - CFArrayGetCount
    - CFSTR
    - CFRelease
    linkageType: ''
    returnType: int
    signature: int get_darwin_dns(char *domain, size_t dsize, struct sa *nsv, uint32_t
      *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:23,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:24,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:25,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:26,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:31,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:35,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:36,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:38,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:39,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:40,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - mem_ref
    - list_flush
    - list_unlink
    - mem_deref
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:50,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:54,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:60,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:61,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:62,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - mp
    - list
    argTypes:
    - struct sdp_media**
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: media_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - list_append
    - sa_init
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int media_alloc(struct sdp_media **mp, struct list *list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: media_alloc
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:96,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:100,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:101,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:105,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - mp
    - sess
    - name
    - port
    - proto
    argTypes:
    - struct sdp_media**
    - struct sdp_session*
    - char*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 114
    functionName: sdp_media_add
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - str_dup
    - mem_deref
    - media_alloc
    - sa_set_port
    linkageType: ''
    returnType: int
    signature: "int sdp_media_add(struct sdp_media **mp, struct sdp_session *sess,\n\t\t
      \ const char *name, uint16_t port, const char *proto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: media_alloc
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:136,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:142,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:143,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - mp
    - sess
    - name
    - proto
    argTypes:
    - struct sdp_media**
    - struct sdp_session*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: sdp_media_radd
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - media_alloc
    - pl_strdup
    linkageType: ''
    returnType: int
    signature: "int sdp_media_radd(struct sdp_media **mp, struct sdp_session *sess,\n\t\t
      \  const struct pl *name, const struct pl *proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:166,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:167,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:169,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: sdp_media_rreset
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_init
    - list_flush
    linkageType: ''
    returnType: void
    signature: void sdp_media_rreset(struct sdp_media *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:196,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:199,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:201,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:205,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - m
    - proto
    - update
    argTypes:
    - struct sdp_media*
    - struct pl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: sdp_media_proto_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - pl_strcmp
    - ARRAY_SIZE
    - mem_ref
    linkageType: ''
    returnType: bool
    signature: "bool sdp_media_proto_cmp(struct sdp_media *m, const struct pl *proto,\n\t\t\t
      bool update)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:240,1
    - Dst: sdp_media_proto_cmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - sess
    - name
    - proto
    - update_proto
    argTypes:
    - struct sdp_session*
    - struct pl*
    - struct pl*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 250
    functionName: sdp_media_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - sdp_media_proto_cmp
    linkageType: ''
    returnType: struct sdp_media
    signature: "struct sdp_media *sdp_media_find(const struct sdp_session *sess,\n\t\t\t\t
      const struct pl *name,\n\t\t\t\t const struct pl *proto,\n\t\t\t\t bool update_proto)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:264,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:271,1
    - Dst: sdp_format_cmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:283,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:292,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:293,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:299,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:304,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:311,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:312,1
    - Dst: atoi
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:313,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:315,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:316,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:329,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:330,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - m
    - offer
    argTypes:
    - struct sdp_media*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 334
    functionName: sdp_media_align_formats
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_port
    - atoi
    - mem_ref
    - list_unlink
    - mem_deref
    - list_append
    - sdp_format_cmp
    linkageType: ''
    returnType: void
    signature: void sdp_media_align_formats(struct sdp_media *m, bool offer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:355,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:357,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:359,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:364,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:366,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - m
    - protoc
    argTypes:
    - struct sdp_media*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 372
    functionName: sdp_media_set_alt_protos
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - str_dup
    - va_arg
    - mem_deref
    - va_start
    - va_end
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int sdp_media_set_alt_protos(struct sdp_media *m, unsigned protoc,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - m
    - ench
    - arg
    argTypes:
    - struct sdp_media*
    - sdp_media_enc_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: sdp_media_set_encode_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sdp_media_set_encode_handler(struct sdp_media *m, sdp_media_enc_h
      *ench,\n\t\t\t\t  void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - fmt_ignore
    argTypes:
    - struct sdp_media*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: sdp_media_set_fmt_ignore
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_fmt_ignore(struct sdp_media *m, bool fmt_ignore)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - disabled
    argTypes:
    - struct sdp_media*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: sdp_media_set_disabled
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_disabled(struct sdp_media *m, bool disabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - port
    argTypes:
    - struct sdp_media*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: sdp_media_set_lport
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_set_port
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_lport(struct sdp_media *m, uint16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m
    - laddr
    argTypes:
    - struct sdp_media*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: sdp_media_set_laddr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_laddr(struct sdp_media *m, const struct sa *laddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - m
    - type
    - bw
    argTypes:
    - struct sdp_media*
    - enum sdp_bandwidth
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: sdp_media_set_lbandwidth
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sdp_media_set_lbandwidth(struct sdp_media *m, enum sdp_bandwidth
      type,\n\t\t\t      int32_t bw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - port
    argTypes:
    - struct sdp_media*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 482
    functionName: sdp_media_set_lport_rtcp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_set_port
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_lport_rtcp(struct sdp_media *m, uint16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m
    - laddr
    argTypes:
    - struct sdp_media*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: sdp_media_set_laddr_rtcp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_laddr_rtcp(struct sdp_media *m, const struct sa
      *laddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - dir
    argTypes:
    - struct sdp_media*
    - enum sdp_dir
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: sdp_media_set_ldir
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sdp_media_set_ldir(struct sdp_media *m, enum sdp_dir dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_del
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:535,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:537,1
    - Dst: sdp_attr_addv
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:538,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - m
    - replace
    - name
    - value
    argTypes:
    - struct sdp_media*
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 542
    functionName: sdp_media_set_lattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sdp_attr_del
    - va_start
    - va_end
    - sdp_attr_addv
    linkageType: ''
    returnType: int
    signature: "int sdp_media_set_lattr(struct sdp_media *m, bool replace,\n\t\t\tconst
      char *name, const char *value, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_del
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m
    - name
    argTypes:
    - struct sdp_media*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: sdp_media_del_lattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sdp_attr_del
    linkageType: ''
    returnType: void
    signature: void sdp_media_del_lattr(struct sdp_media *m, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: sdp_media_proto
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sdp_media_proto(const struct sdp_media *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: sdp_media_rport
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_port
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sdp_media_rport(const struct sdp_media *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: sdp_media_raddr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *sdp_media_raddr(const struct sdp_media *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: sdp_media_laddr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *sdp_media_laddr(const struct sdp_media *m)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:616,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:619,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:621,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:621,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:624,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - m
    - raddr
    argTypes:
    - struct sdp_media*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 629
    functionName: sdp_media_raddr_rtcp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_isset
    - sa_port
    - sa_set_port
    linkageType: ''
    returnType: void
    signature: void sdp_media_raddr_rtcp(const struct sdp_media *m, struct sa *raddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m
    - type
    argTypes:
    - struct sdp_media*
    - enum sdp_bandwidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: sdp_media_rbandwidth
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sdp_media_rbandwidth(const struct sdp_media *m,\n\t\t\t      enum
      sdp_bandwidth type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: sdp_media_ldir
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum sdp_dir
    signature: enum sdp_dir sdp_media_ldir(const struct sdp_media *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: sdp_media_rdir
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum sdp_dir
    signature: enum sdp_dir sdp_media_rdir(const struct sdp_media *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: sdp_media_dir
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum sdp_dir
    signature: enum sdp_dir sdp_media_dir(const struct sdp_media *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - m
    - pt
    argTypes:
    - struct sdp_media*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 713
    functionName: sdp_media_lformat
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sdp_format
    signature: struct sdp_format *sdp_media_lformat(const struct sdp_media *m, int
      pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:729,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - m
    - name
    argTypes:
    - struct sdp_media*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 746
    functionName: sdp_media_rformat
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sa_port
    - str_casecmp
    linkageType: ''
    returnType: struct sdp_format
    signature: "struct sdp_format *sdp_media_rformat(const struct sdp_media *m,\n\t\t\t\t\t
      \  const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdp_media_format_apply
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - m
    - local
    - id
    - pt
    - name
    - srate
    - ch
    argTypes:
    - struct sdp_media*
    - bool
    - char*
    - int
    - char*
    - int32_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: sdp_media_format
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sdp_media_format_apply
    linkageType: ''
    returnType: struct sdp_format
    signature: "struct sdp_format *sdp_media_format(const struct sdp_media *m,\n\t\t\t\t
      \   bool local, const char *id,\n\t\t\t\t    int pt, const char *name,\n\t\t\t\t
      \   int32_t srate, int8_t ch)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:806,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:812,1
    - Dst: fmth
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:821,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 20
    argCount: 9
    argNames:
    - m
    - local
    - id
    - pt
    - name
    - srate
    - ch
    - fmth
    - arg
    argTypes:
    - struct sdp_media*
    - bool
    - char*
    - int
    - char*
    - int32_t
    - int8_t
    - sdp_format_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 826
    functionName: sdp_media_format_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 1
    functionsReached:
    - strcmp
    - str_casecmp
    - fmth
    linkageType: ''
    returnType: struct sdp_format
    signature: "struct sdp_format *sdp_media_format_apply(const struct sdp_media *m,\n\t\t\t\t\t
      \ bool local, const char *id,\n\t\t\t\t\t  int pt, const char *name,\n\t\t\t\t\t
      \ int32_t srate, int8_t ch,\n\t\t\t\t\t  sdp_format_h *fmth, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - local
    argTypes:
    - struct sdp_media*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 843
    functionName: sdp_media_format_lst
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *sdp_media_format_lst(const struct sdp_media *m, bool local)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_apply
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m
    - name
    argTypes:
    - struct sdp_media*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 860
    functionName: sdp_media_rattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sdp_attr_apply
    linkageType: ''
    returnType: char
    signature: char *sdp_media_rattr(const struct sdp_media *m, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_media_rattr
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:878,1
    - Dst: sdp_session_rattr
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - m
    - sess
    - name
    argTypes:
    - struct sdp_media*
    - struct sdp_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 883
    functionName: sdp_media_session_rattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sdp_session_rattr
    - sdp_media_rattr
    linkageType: ''
    returnType: char
    signature: "char *sdp_media_session_rattr(const struct sdp_media *m,\n\t\t\t\t
      \   const struct sdp_session *sess,\n\t\t\t\t    const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_apply
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - m
    - name
    - attrh
    - arg
    argTypes:
    - struct sdp_media*
    - char*
    - sdp_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 903
    functionName: sdp_media_rattr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - sdp_attr_apply
    linkageType: ''
    returnType: char
    signature: "char *sdp_media_rattr_apply(const struct sdp_media *m, const char
      *name,\n\t\t\t\t  sdp_attr_h *attrh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: sdp_media_name
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sdp_media_name(const struct sdp_media *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:935,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:937,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:940,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:942,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:945,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:947,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:950,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:952,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/media.c:955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pf
    - m
    argTypes:
    - struct re_printf*
    - struct sdp_media*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 958
    functionName: sdp_media_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/media.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int sdp_media_debug(struct re_printf *pf, const struct sdp_media *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:22,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:23,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:24,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:45,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:50,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:51,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:54,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sessp
    - laddr
    argTypes:
    - struct sdp_session**
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 67
    functionName: sdp_session_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sa_init
    - mem_zalloc
    - rand_u32
    linkageType: ''
    returnType: int
    signature: int sdp_session_alloc(struct sdp_session **sessp, const struct sa *laddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:82,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct sdp_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: sdp_session_rreset
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - sa_init
    - list_flush
    linkageType: ''
    returnType: void
    signature: void sdp_session_rreset(struct sdp_session *sess)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sess
    - laddr
    argTypes:
    - struct sdp_session*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: sdp_session_set_laddr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sdp_session_set_laddr(struct sdp_session *sess, const struct sa
      *laddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sess
    - type
    - bw
    argTypes:
    - struct sdp_session*
    - enum sdp_bandwidth
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: sdp_session_set_lbandwidth
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sdp_session_set_lbandwidth(struct sdp_session *sess,\n\t\t\t\tenum
      sdp_bandwidth type, int32_t bw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_del
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:145,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:147,1
    - Dst: sdp_attr_addv
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:148,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - sess
    - replace
    - name
    - value
    argTypes:
    - struct sdp_session*
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: sdp_session_set_lattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - sdp_attr_del
    - va_start
    - va_end
    - sdp_attr_addv
    linkageType: ''
    returnType: int
    signature: "int sdp_session_set_lattr(struct sdp_session *sess, bool replace,\n\t\t\t
      \ const char *name, const char *value, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_del
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sess
    - name
    argTypes:
    - struct sdp_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: sdp_session_del_lattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - sdp_attr_del
    linkageType: ''
    returnType: void
    signature: void sdp_session_del_lattr(struct sdp_session *sess, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sess
    - type
    argTypes:
    - struct sdp_session*
    - enum sdp_bandwidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: sdp_session_lbandwidth
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sdp_session_lbandwidth(const struct sdp_session *sess,\n\t\t\t
      \      enum sdp_bandwidth type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sess
    - type
    argTypes:
    - struct sdp_session*
    - enum sdp_bandwidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: sdp_session_rbandwidth
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t sdp_session_rbandwidth(const struct sdp_session *sess,\n\t\t\t\tenum
      sdp_bandwidth type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_apply
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sess
    - name
    argTypes:
    - struct sdp_session*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: sdp_session_rattr
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 1
    functionsReached:
    - sdp_attr_apply
    linkageType: ''
    returnType: char
    signature: char *sdp_session_rattr(const struct sdp_session *sess, const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdp_attr_apply
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - sess
    - name
    - attrh
    - arg
    argTypes:
    - struct sdp_session*
    - char*
    - sdp_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: sdp_session_rattr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - sdp_attr_apply
    linkageType: ''
    returnType: char
    signature: "char *sdp_session_rattr_apply(const struct sdp_session *sess,\n\t\t\t\t
      \   const char *name,\n\t\t\t\t    sdp_attr_h *attrh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sess
    - local
    argTypes:
    - struct sdp_session*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: sdp_session_medial
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: "struct list *sdp_session_medial(const struct sdp_session *sess,\n\t\t\t\t
      \     bool local)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:278,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:280,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:283,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:285,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:288,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:290,1
    - Dst: sdp_media_debug
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:293,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:295,1
    - Dst: sdp_media_debug
      Src: /src/rtpproxy/external/libre/src/sdp/session.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pf
    - sess
    argTypes:
    - struct re_printf*
    - struct sdp_session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 301
    functionName: sdp_session_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/session.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - sdp_media_debug
    linkageType: ''
    returnType: int
    signature: int sdp_session_debug(struct re_printf *pf, const struct sdp_session
      *sess)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:29,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:29,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:36,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:40,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:41,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:42,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:43,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/util.c:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ext
    - val
    argTypes:
    - struct sdp_extmap*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: sdp_extmap_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/util.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - pl_isset
    - pl_u32
    - re_regex
    - strlen
    linkageType: ''
    returnType: int
    signature: int sdp_extmap_decode(struct sdp_extmap *ext, const char *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:24,1
    - Dst: sdp_format_find
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:27,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:31,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - m
    - pl
    argTypes:
    - struct sdp_media*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: attr_decode_fmtp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sdp_format_find
    - pl_strdup
    - re_regex
    linkageType: ''
    returnType: int
    signature: int attr_decode_fmtp(struct sdp_media *m, const struct pl *pl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:45,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:47,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:47,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:49,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:50,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - m
    - pl
    argTypes:
    - struct sdp_media*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: attr_decode_rtcp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - sa_set
    - pl_u32
    - sa_set_port
    - re_regex
    linkageType: ''
    returnType: int
    signature: int attr_decode_rtcp(struct sdp_media *m, const struct pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:68,1
    - Dst: sdp_format_find
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:72,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:76,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:78,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:82,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - m
    - pl
    argTypes:
    - struct sdp_media*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: attr_decode_rtpmap
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - pl_strdup
    - mem_deref
    - pl_u32
    - re_regex
    - sdp_format_find
    linkageType: ''
    returnType: int
    signature: int attr_decode_rtpmap(struct sdp_media *m, const struct pl *pl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:95,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:100,1
    - Dst: attr_decode_fmtp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:101,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:103,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:106,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:109,1
    - Dst: attr_decode_rtcp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:110,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:112,1
    - Dst: attr_decode_rtpmap
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:113,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:115,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:118,1
    - Dst: sdp_attr_add
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - sess
    - m
    - dir
    - pl
    argTypes:
    - struct sdp_session*
    - struct sdp_media*
    - enum sdp_dir*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 126
    functionName: attr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 2
    functionsReached:
    - attr_decode_fmtp
    - pl_strcmp
    - attr_decode_rtpmap
    - attr_decode_rtcp
    - re_regex
    - sdp_attr_add
    linkageType: ''
    returnType: int
    signature: "int attr_decode(struct sdp_session *sess, struct sdp_media *m,\n\t\t
      \      enum sdp_dir *dir, const struct pl *pl)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:133,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:136,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:137,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:139,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:140,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:142,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:143,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:145,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:146,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:148,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - bwv
    - pl
    argTypes:
    - int32_t*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: bandwidth_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - pl_u32
    - re_regex
    linkageType: ''
    returnType: int
    signature: int bandwidth_decode(int32_t *bwv, const struct pl *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:159,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:162,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sa
    - pl
    argTypes:
    - struct sa*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: conn_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - sa_set
    - sa_port
    - re_regex
    linkageType: ''
    returnType: int
    signature: int conn_decode(struct sa *sa, const struct pl *pl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:175,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:179,1
    - Dst: sdp_media_find
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:184,1
    - Dst: sdp_media_radd
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:186,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:191,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:192,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:195,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:198,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:201,1
    - Dst: sdp_media_proto_cmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:203,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:205,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:211,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:213,1
    - Dst: sdp_format_radd
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:215,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:221,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - mp
    - sess
    - offer
    - pl
    argTypes:
    - struct sdp_media**
    - struct sdp_session*
    - bool
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 228
    functionName: media_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - pl_strdup
    - list_ledata
    - sdp_format_radd
    - sdp_media_find
    - list_unlink
    - list_append
    - mem_deref
    - pl_strcmp
    - sdp_media_proto_cmp
    - sdp_media_radd
    - pl_u32
    - pl_advance
    - re_regex
    - sa_set_port
    linkageType: ''
    returnType: int
    signature: "int media_decode(struct sdp_media **mp, struct sdp_session *sess,\n\t\t\tbool
      offer, const struct pl *pl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: version_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    linkageType: ''
    returnType: int
    signature: int version_decode(const struct pl *pl)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sdp_session_rreset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:257,1
    - Dst: sdp_media_rreset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:263,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:266,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:267,1
    - Dst: attr_decode
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:283,1
    - Dst: bandwidth_decode
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:289,1
    - Dst: conn_decode
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:294,1
    - Dst: media_decode
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:299,1
    - Dst: version_decode
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:303,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:309,1
    - Dst: sdp_media_align_formats
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:343,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 3
    argNames:
    - sess
    - mb
    - offer
    argTypes:
    - struct sdp_session*
    - struct mbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 246
    functionDepth: 6
    functionLinenumber: 246
    functionLinenumberEnd: 346
    functionName: sdp_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 1
    functionsReached:
    - mbuf_buf
    - sdp_media_rreset
    - re_printf
    - attr_decode
    - bandwidth_decode
    - version_decode
    - conn_decode
    - sdp_session_rreset
    - mbuf_get_left
    - media_decode
    - sdp_media_align_formats
    linkageType: ''
    returnType: int
    signature: int sdp_decode(struct sdp_session *sess, struct mbuf *mb, bool offer)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:371,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:378,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:382,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:385,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:396,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:399,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:401,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:402,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:403,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:411,1
    - Dst: sdp_bandwidth_name
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:412,1
    - Dst: str_isset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:419,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:422,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:426,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:428,1
    - Dst: str_isset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:430,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:431,1
    - Dst: struct sdp_format*::ench
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:434,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:437,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:438,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:439,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:440,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:442,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:443,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:444,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:446,1
    - Dst: sdp_dir_name
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:447,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:450,1
    - Dst: struct sdp_media*::ench
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:453,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 3
    argNames:
    - m
    - mb
    - offer
    argTypes:
    - struct sdp_media*
    - struct mbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 456
    functionName: media_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - sa_port
    - sa_af
    - struct sdp_media*::ench
    - mbuf_write_str
    - struct sdp_format*::ench
    - mbuf_printf
    - sdp_dir_name
    - sa_isset
    - str_isset
    - sdp_bandwidth_name
    linkageType: ''
    returnType: int
    signature: int media_encode(const struct sdp_media *m, struct mbuf *mb, bool offer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:470,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:479,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:483,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:484,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:486,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:487,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:494,1
    - Dst: sdp_bandwidth_name
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:495,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:498,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:501,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:512,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:513,1
    - Dst: media_encode
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:520,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/msg.c:526,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - mbp
    - sess
    - offer
    argTypes:
    - struct mbuf**
    - struct sdp_session*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 531
    functionName: sdp_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/msg.c
    functionUses: 0
    functionsReached:
    - sa_af
    - mbuf_alloc
    - mbuf_write_str
    - list_unlink
    - list_append
    - mem_deref
    - mbuf_printf
    - media_encode
    - sdp_bandwidth_name
    linkageType: ''
    returnType: int
    signature: int sdp_encode(struct mbuf **mbp, struct sdp_session *sess, bool offer)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - dir
    argTypes:
    - enum sdp_dir
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: sdp_dir_name
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/str.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sdp_dir_name(enum sdp_dir dir)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum sdp_bandwidth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: sdp_bandwidth_name
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/str.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sdp_bandwidth_name(enum sdp_bandwidth type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:28,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:29,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:39,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:43,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:45,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:47,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:48,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - lst
    - name
    - val
    argTypes:
    - struct list*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: sdp_attr_add
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 1
    functionsReached:
    - pl_strdup
    - list_append
    - mem_deref
    - pl_isset
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int sdp_attr_add(struct list *lst, struct pl *name, struct pl *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:63,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:67,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:69,1
    - Dst: str_isset
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:71,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:72,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - lst
    - name
    - val
    - ap
    argTypes:
    - struct list*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: sdp_attr_addv
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 2
    functionsReached:
    - str_dup
    - list_append
    - mem_deref
    - mem_zalloc
    - str_isset
    - re_vsdprintf
    linkageType: ''
    returnType: int
    signature: "int sdp_attr_addv(struct list *lst, const char *name, const char *val,\n\t\t
      \ va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:83,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:91,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lst
    - name
    argTypes:
    - struct list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: sdp_attr_del
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 4
    functionsReached:
    - mem_deref
    - list_head
    - str_casecmp
    linkageType: ''
    returnType: void
    signature: void sdp_attr_del(const struct list *lst, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:100,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:108,1
    - Dst: attrh
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - lst
    - name
    - attrh
    - arg
    argTypes:
    - struct list*
    - char*
    - sdp_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: sdp_attr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 4
    functionsReached:
    - strcmp
    - list_head
    - attrh
    linkageType: ''
    returnType: char
    signature: "char *sdp_attr_apply(const struct list *lst, const char *name,\n\t\t\t
      \  sdp_attr_h *attrh, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:125,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - attr
    argTypes:
    - struct re_printf*
    - struct sdp_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: sdp_attr_print
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int sdp_attr_print(struct re_printf *pf, const struct sdp_attr *attr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:137,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/attr.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - attr
    argTypes:
    - struct re_printf*
    - struct sdp_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: sdp_attr_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/attr.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int sdp_attr_debug(struct re_printf *pf, const struct sdp_attr *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:22,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:25,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:27,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:28,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:29,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:67,1
    - Dst: list_prepend
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:72,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:74,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:77,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:79,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:84,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:92,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:93,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:94,1
    - Dst: atoi
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:100,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:105,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:111,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 12
    argNames:
    - fmtp
    - m
    - prepend
    - id
    - name
    - srate
    - ch
    - ench
    - cmph
    - data
    - ref
    - params
    argTypes:
    - struct sdp_format**
    - struct sdp_media*
    - bool
    - char*
    - char*
    - uint32_t
    - uint8_t
    - sdp_fmtp_enc_h*
    - sdp_fmtp_cmp_h*
    - void*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 116
    functionName: sdp_format_add
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 0
    functionsReached:
    - str_dup
    - re_sdprintf
    - atoi
    - mem_ref
    - list_append
    - va_start
    - mem_deref
    - mem_zalloc
    - va_end
    - list_prepend
    - re_vsdprintf
    linkageType: ''
    returnType: int
    signature: "int sdp_format_add(struct sdp_format **fmtp, struct sdp_media *m,\n\t\t
      \  bool prepend, const char *id, const char *name,\n\t\t   uint32_t srate, uint8_t
      ch, sdp_fmtp_enc_h *ench,\n\t\t   sdp_fmtp_cmp_h *cmph, void *data, bool ref,\n\t\t
      \  const char *params, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:127,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:131,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:133,1
    - Dst: atoi
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:137,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - m
    - id
    argTypes:
    - struct sdp_media*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 144
    functionName: sdp_format_radd
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 1
    functionsReached:
    - pl_strdup
    - atoi
    - list_append
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int sdp_format_radd(struct sdp_media *m, const struct pl *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - lst
    - id
    argTypes:
    - struct list*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: sdp_format_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 2
    functionsReached:
    - pl_strcmp
    linkageType: ''
    returnType: struct sdp_format
    signature: struct sdp_format *sdp_format_find(const struct list *lst, const struct
      pl *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:183,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:188,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:189,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fmt
    - params
    argTypes:
    - struct sdp_format*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: sdp_format_set_params
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 0
    functionsReached:
    - va_end
    - mem_deref
    - re_vsdprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int sdp_format_set_params(struct sdp_format *fmt, const char *params,
      ...)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:216,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:219,1
    - Dst: struct sdp_format*::cmph
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:228,1
    - Dst: struct sdp_format*::cmph
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - fmt1
    - fmt2
    argTypes:
    - struct sdp_format*
    - struct sdp_format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: sdp_format_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 1
    functionsReached:
    - struct sdp_format*::cmph
    - strcmp
    - str_casecmp
    linkageType: ''
    returnType: bool
    signature: "bool sdp_format_cmp(const struct sdp_format *fmt1,\n\t\t    const
      struct sdp_format *fmt2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:253,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:256,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:260,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sdp/format.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pf
    - fmt
    argTypes:
    - struct re_printf*
    - struct sdp_format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: sdp_format_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sdp/format.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int sdp_format_debug(struct re_printf *pf, const struct sdp_format
      *fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: list_init
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_init(struct list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/list/list.c:51,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/list/list.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: list_flush
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 7
    functionsReached:
    - mem_deref
    - list_init
    linkageType: ''
    returnType: void
    signature: void list_flush(struct list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/list/list.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: list_clear
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 1
    functionsReached:
    - list_init
    linkageType: ''
    returnType: void
    signature: void list_clear(struct list *list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/list/list.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - list
    - le
    - data
    argTypes:
    - struct list*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: list_append
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 16
    functionsReached:
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void list_append(struct list *list, struct le *le, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/list/list.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - list
    - le
    - data
    argTypes:
    - struct list*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: list_prepend
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 1
    functionsReached:
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void list_prepend(struct list *list, struct le *le, void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/list/list.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - list
    - le
    - ile
    - data
    argTypes:
    - struct list*
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: list_insert_before
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: "void list_insert_before(struct list *list, struct le *le, struct le
      *ile,\n\t\t       void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/list/list.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - list
    - le
    - ile
    - data
    argTypes:
    - struct list*
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: list_insert_after
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: "void list_insert_after(struct list *list, struct le *le, struct le
      *ile,\n\t\t       void *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: list_unlink
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void list_unlink(struct le *le)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sh
      Src: /src/rtpproxy/external/libre/src/list/list.c:264,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/list/list.c:271,1
    - Dst: list_insert_after
      Src: /src/rtpproxy/external/libre/src/list/list.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - list
    - sh
    - arg
    argTypes:
    - struct list*
    - list_sort_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 280
    functionName: list_sort
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 3
    functionsReached:
    - list_unlink
    - list_insert_after
    - sh
    linkageType: ''
    returnType: void
    signature: void list_sort(struct list *list, list_sort_h *sh, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ah
      Src: /src/rtpproxy/external/libre/src/list/list.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - list
    - fwd
    - ah
    - arg
    argTypes:
    - struct list*
    - bool
    - list_apply_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 313
    functionName: list_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 11
    functionsReached:
    - ah
    linkageType: ''
    returnType: struct le
    signature: "struct le *list_apply(const struct list *list, bool fwd,\n\t\t      list_apply_h
      *ah, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: list_head
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: struct le
    signature: struct le *list_head(const struct list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: list_tail
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct le
    signature: struct le *list_tail(const struct list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: list_count
    functionSourceFile: /src/rtpproxy/external/libre/src/list/list.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t list_count(const struct list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/reply.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:50,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:51,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:53,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:57,1
    - Dst: bfcp_msg_vencode
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:58,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:60,1
    - Dst: bfcp_send
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:67,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:76,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - bc
    - req
    - prim
    - attrc
    argTypes:
    - struct bfcp_conn*
    - struct bfcp_msg*
    - enum bfcp_prim
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: bfcp_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/reply.c
    functionUses: 0
    functionsReached:
    - bfcp_msg_vencode
    - mem_deref
    - va_start
    - tmr_start
    - tmr_cancel
    - bfcp_send
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int bfcp_reply(struct bfcp_conn *bc, const struct bfcp_msg *req,\n\t
      \      enum bfcp_prim prim, unsigned attrc, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_reply
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - bc
    - req
    - code
    - details
    - len
    argTypes:
    - struct bfcp_conn*
    - struct bfcp_msg*
    - enum bfcp_err
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: bfcp_edreply
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/reply.c
    functionUses: 0
    functionsReached:
    - bfcp_reply
    linkageType: ''
    returnType: int
    signature: "int bfcp_edreply(struct bfcp_conn *bc, const struct bfcp_msg *req,\n\t\t
      enum bfcp_err code, const uint8_t *details, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_edreply
      Src: /src/rtpproxy/external/libre/src/bfcp/reply.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bc
    - req
    - code
    argTypes:
    - struct bfcp_conn*
    - struct bfcp_msg*
    - enum bfcp_err
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: bfcp_ereply
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/reply.c
    functionUses: 0
    functionsReached:
    - bfcp_edreply
    linkageType: ''
    returnType: int
    signature: "int bfcp_ereply(struct bfcp_conn *bc, const struct bfcp_msg *req,\n\t\tenum
      bfcp_err code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:23,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:24,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:25,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:26,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/conn.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - st
    - msg
    argTypes:
    - struct bfcp_strans*
    - struct bfcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: strans_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool strans_cmp(const struct bfcp_strans *st,\n\t\t       const struct
      bfcp_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_msg_decode
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:56,1
    - Dst: bfcp_handle_response
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:62,1
    - Dst: strans_cmp
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:65,1
    - Dst: bfcp_send
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:66,1
    - Dst: struct bfcp_conn*::recvh
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:71,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/conn.c
    functionUses: 0
    functionsReached:
    - bfcp_handle_response
    - struct bfcp_conn*::recvh
    - mem_deref
    - bfcp_msg_decode
    - bfcp_send
    - strans_cmp
    linkageType: ''
    returnType: void
    signature: void udp_recv_handler(const struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:100,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:111,1
    - Dst: udp_local_get
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:116,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - bcp
    - tp
    - laddr
    - tls
    - recvh
    - arg
    argTypes:
    - struct bfcp_conn**
    - enum bfcp_transp
    - struct sa*
    - struct tls*
    - bfcp_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 134
    functionName: bfcp_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/conn.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - udp_listen
    - mem_zalloc
    - udp_local_get
    linkageType: ''
    returnType: int
    signature: "int bfcp_listen(struct bfcp_conn **bcp, enum bfcp_transp tp, struct
      sa *laddr,\n\t\tstruct tls *tls, bfcp_recv_h *recvh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/bfcp/conn.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - bc
    - dst
    - mb
    argTypes:
    - struct bfcp_conn*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: bfcp_send
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/conn.c
    functionUses: 2
    functionsReached:
    - udp_send
    linkageType: ''
    returnType: int
    signature: int bfcp_send(struct bfcp_conn *bc, const struct sa *dst, struct mbuf
      *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bc
    argTypes:
    - struct bfcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: bfcp_sock
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *bfcp_sock(const struct bfcp_conn *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 0
    functionsReached:
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:37,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:38,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:39,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:39,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:40,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:40,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:41,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:41,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:42,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - mb
    - ver
    - r
    - prim
    - len
    - confid
    - tid
    - userid
    argTypes:
    - struct mbuf*
    - uint8_t
    - bool
    - enum bfcp_prim
    - uint16_t
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: hdr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 5
    functionsReached:
    - mbuf_write_u16
    - mbuf_write_u32
    - htons
    - mbuf_write_u8
    - htonl
    linkageType: ''
    returnType: int
    signature: "int hdr_encode(struct mbuf *mb, uint8_t ver, bool r,\n\t\t      enum
      bfcp_prim prim, uint16_t len, uint32_t confid,\n\t\t      uint16_t tid, uint16_t
      userid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:52,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:55,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:60,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:61,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:61,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:62,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:62,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:63,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:63,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:64,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:64,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - msg
    - mb
    argTypes:
    - struct bfcp_msg*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: hdr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 6
    functionsReached:
    - ntohs
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int hdr_decode(struct bfcp_msg *msg, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_attrs_vencode
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:108,1
    - Dst: hdr_encode
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 9
    argNames:
    - mb
    - ver
    - r
    - prim
    - confid
    - tid
    - userid
    - attrc
    - ap
    argTypes:
    - struct mbuf*
    - uint8_t
    - bool
    - enum bfcp_prim
    - uint32_t
    - uint16_t
    - uint16_t
    - unsigned
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: bfcp_msg_vencode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 1
    functionsReached:
    - bfcp_attrs_vencode
    - hdr_encode
    linkageType: ''
    returnType: int
    signature: "int bfcp_msg_vencode(struct mbuf *mb, uint8_t ver, bool r, enum bfcp_prim
      prim,\n\t\t     uint32_t confid, uint16_t tid, uint16_t userid,\n\t\t     unsigned
      attrc, va_list *ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:144,1
    - Dst: bfcp_msg_vencode
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:145,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - mb
    - ver
    - r
    - prim
    - confid
    - tid
    - userid
    - attrc
    argTypes:
    - struct mbuf*
    - uint8_t
    - bool
    - enum bfcp_prim
    - uint32_t
    - uint16_t
    - uint16_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: bfcp_msg_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - bfcp_msg_vencode
    linkageType: ''
    returnType: int
    signature: "int bfcp_msg_encode(struct mbuf *mb, uint8_t ver, bool r, enum bfcp_prim
      prim,\n\t\t    uint32_t confid, uint16_t tid, uint16_t userid,\n\t\t    unsigned
      attrc, ...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:170,1
    - Dst: hdr_decode
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:176,1
    - Dst: bfcp_attrs_decode
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:182,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - msgp
    - mb
    argTypes:
    - struct bfcp_msg**
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: bfcp_msg_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 1
    functionsReached:
    - bfcp_attrs_decode
    - mem_deref
    - mem_zalloc
    - hdr_decode
    linkageType: ''
    returnType: int
    signature: int bfcp_msg_decode(struct bfcp_msg **msgp, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_attrs_find
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - type
    argTypes:
    - struct bfcp_msg*
    - enum bfcp_attrib
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: bfcp_msg_attr
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 0
    functionsReached:
    - bfcp_attrs_find
    linkageType: ''
    returnType: struct bfcp_attr
    signature: "struct bfcp_attr *bfcp_msg_attr(const struct bfcp_msg *msg,\n\t\t\t\tenum
      bfcp_attrib type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_attrs_apply
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - msg
    - h
    - arg
    argTypes:
    - struct bfcp_msg*
    - bfcp_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: bfcp_msg_attr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 0
    functionsReached:
    - bfcp_attrs_apply
    linkageType: ''
    returnType: struct bfcp_attr
    signature: "struct bfcp_attr *bfcp_msg_attr_apply(const struct bfcp_msg *msg,\n\t\t\t\t
      \     bfcp_attr_h *h, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:248,1
    - Dst: bfcp_prim_name
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:249,1
    - Dst: bfcp_attrs_print
      Src: /src/rtpproxy/external/libre/src/bfcp/msg.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - msg
    argTypes:
    - struct re_printf*
    - struct bfcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: bfcp_msg_print
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 0
    functionsReached:
    - bfcp_attrs_print
    - re_hprintf
    - bfcp_prim_name
    linkageType: ''
    returnType: int
    signature: int bfcp_msg_print(struct re_printf *pf, const struct bfcp_msg *msg)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - prim
    argTypes:
    - enum bfcp_prim
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 288
    functionName: bfcp_prim_name
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/msg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bfcp_prim_name(enum bfcp_prim prim)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:30,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:38,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:42,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:46,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:53,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 55
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:83,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:83,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:87,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:88,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:92,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:93,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:97,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:99,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:108,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:113,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:118,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:130,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:131,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 4
    argNames:
    - mb
    - mand
    - type
    - v
    argTypes:
    - struct mbuf*
    - bool
    - enum bfcp_attrib
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 139
    functionName: attr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_write_str
    - htons
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: "int attr_encode(struct mbuf *mb, bool mand, enum bfcp_attrib type,\n\t\t
      \      const void *v)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:160,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:161,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:162,1
    - Dst: struct bfcp_encode*::ench
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:176,1
    - Dst: attr_encode
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:184,1
    - Dst: bfcp_attrs_vencode
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:191,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:199,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - mb
    - attrc
    - ap
    argTypes:
    - struct mbuf*
    - unsigned
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 207
    functionName: bfcp_attrs_vencode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 2
    functionsReached:
    - bfcp_attrs_vencode
    - va_arg
    - struct bfcp_encode*::ench
    - mbuf_write_u8
    - attr_encode
    linkageType: ''
    returnType: int
    signature: int bfcp_attrs_vencode(struct mbuf *mb, unsigned attrc, va_list *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:223,1
    - Dst: bfcp_attrs_vencode
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:224,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mb
    - attrc
    argTypes:
    - struct mbuf*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: bfcp_attrs_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 0
    functionsReached:
    - bfcp_attrs_vencode
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int bfcp_attrs_encode(struct mbuf *mb, unsigned attrc, ...)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:240,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:243,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:249,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:252,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:259,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:272,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:272,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:279,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:280,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:287,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:288,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:295,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:301,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:307,1
    - Dst: mbuf_strdup
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:316,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:321,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:329,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:334,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:342,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:355,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:355,1
    - Dst: bfcp_attrs_decode
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:356,1
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:365,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:374,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:384,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 120
    argCount: 3
    argNames:
    - attrp
    - mb
    - uma
    argTypes:
    - struct bfcp_attr**
    - struct mbuf*
    - struct bfcp_unknown_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 387
    functionName: attr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 3
    functionsReached:
    - mem_alloc
    - bfcp_attrs_decode
    - mbuf_read_mem
    - mbuf_strdup
    - mem_deref
    - ntohs
    - mem_zalloc
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int attr_decode(struct bfcp_attr **attrp, struct mbuf *mb,\n\t\t       struct
      bfcp_unknown_attr *uma)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:396,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:402,1
    - Dst: attr_decode
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:406,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - attrl
    - mb
    - len
    - uma
    argTypes:
    - struct list*
    - struct mbuf*
    - size_t
    - struct bfcp_unknown_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 416
    functionName: bfcp_attrs_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 2
    functionsReached:
    - list_append
    - attr_decode
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int bfcp_attrs_decode(struct list *attrl, struct mbuf *mb, size_t
      len,\n\t\t      struct bfcp_unknown_attr *uma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - attrl
    - type
    argTypes:
    - struct list*
    - enum bfcp_attrib
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 434
    functionName: bfcp_attrs_find
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 1
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct bfcp_attr
    signature: "struct bfcp_attr *bfcp_attrs_find(const struct list *attrl,\n\t\t\t\t
      \ enum bfcp_attrib type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:440,1
    - Dst: h
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - attrl
    - h
    - arg
    argTypes:
    - struct list*
    - bfcp_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: bfcp_attrs_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 1
    functionsReached:
    - list_head
    - h
    linkageType: ''
    returnType: struct bfcp_attr
    signature: "struct bfcp_attr *bfcp_attrs_apply(const struct list *attrl,\n\t\t\t\t
      \  bfcp_attr_h *h, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_attrs_find
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - attr
    - type
    argTypes:
    - struct bfcp_attr*
    - enum bfcp_attrib
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 470
    functionName: bfcp_attr_subattr
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 0
    functionsReached:
    - bfcp_attrs_find
    linkageType: ''
    returnType: struct bfcp_attr
    signature: "struct bfcp_attr *bfcp_attr_subattr(const struct bfcp_attr *attr,\n\t\t\t\t
      \   enum bfcp_attrib type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_attrs_apply
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - attr
    - h
    - arg
    argTypes:
    - struct bfcp_attr*
    - bfcp_attr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 489
    functionName: bfcp_attr_subattr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 0
    functionsReached:
    - bfcp_attrs_apply
    linkageType: ''
    returnType: struct bfcp_attr
    signature: "struct bfcp_attr *bfcp_attr_subattr_apply(const struct bfcp_attr *attr,\n\t\t\t\t\t
      \ bfcp_attr_h *h, void *arg)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:509,1
    - Dst: bfcp_attr_name
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:510,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:519,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:523,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:527,1
    - Dst: bfcp_reqstatus_name
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:528,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:534,1
    - Dst: bfcp_errcode_name
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:535,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:543,1
    - Dst: bfcp_attr_name
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:544,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:554,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:558,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:564,1
    - Dst: bfcp_attr_name
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:564,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:569,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:575,1
    - Dst: bfcp_prim_name
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:575,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:582,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:586,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:590,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:594,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:598,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:602,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 2
    argNames:
    - pf
    - attr
    argTypes:
    - struct re_printf*
    - struct bfcp_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 607
    functionName: bfcp_attr_print
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 0
    functionsReached:
    - bfcp_attr_name
    - bfcp_errcode_name
    - bfcp_prim_name
    - bfcp_reqstatus_name
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int bfcp_attr_print(struct re_printf *pf, const struct bfcp_attr *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:616,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:622,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:624,1
    - Dst: bfcp_attrs_print
      Src: /src/rtpproxy/external/libre/src/bfcp/attr.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pf
    - attrl
    - level
    argTypes:
    - struct re_printf*
    - struct list*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 629
    functionName: bfcp_attrs_print
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 2
    functionsReached:
    - bfcp_attrs_print
    - re_hprintf
    - list_head
    linkageType: ''
    returnType: int
    signature: "int bfcp_attrs_print(struct re_printf *pf, const struct list *attrl,\n\t\t
      \    unsigned level)"
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum bfcp_attrib
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 663
    functionName: bfcp_attr_name
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bfcp_attr_name(enum bfcp_attrib type)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - status
    argTypes:
    - enum bfcp_reqstat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 686
    functionName: bfcp_reqstatus_name
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bfcp_reqstatus_name(enum bfcp_reqstat status)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - code
    argTypes:
    - enum bfcp_err
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 746
    functionName: bfcp_errcode_name
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/attr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *bfcp_errcode_name(enum bfcp_err code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct bfcp_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: dummy_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_resp_handler(int err, const struct bfcp_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:51,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bfcp_send
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:66,1
    - Dst: struct bfcp_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:68,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:69,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - bc
    argTypes:
    - struct bfcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: dispatch
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - struct bfcp_ctrans*::resph
    - bfcp_send
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void dispatch(struct bfcp_conn *bc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:87,1
    - Dst: bfcp_send
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:98,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:102,1
    - Dst: struct bfcp_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:106,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:107,1
    - Dst: dispatch
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached:
    - struct bfcp_ctrans*::resph
    - list_ledata
    - mem_deref
    - tmr_start
    - dispatch
    - bfcp_send
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:119,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:132,1
    - Dst: struct bfcp_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:134,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:135,1
    - Dst: dispatch
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - bc
    - msg
    argTypes:
    - struct bfcp_conn*
    - struct bfcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: bfcp_handle_response
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 1
    functionsReached:
    - struct bfcp_ctrans*::resph
    - list_ledata
    - mem_deref
    - tmr_cancel
    - dispatch
    linkageType: ''
    returnType: bool
    signature: bool bfcp_handle_response(struct bfcp_conn *bc, const struct bfcp_msg
      *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:153,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:167,1
    - Dst: bfcp_msg_vencode
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:173,1
    - Dst: bfcp_send
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:182,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:186,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:190,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:194,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 10
    argNames:
    - bc
    - dst
    - ver
    - prim
    - confid
    - userid
    - resph
    - arg
    - attrc
    - ap
    argTypes:
    - struct bfcp_conn*
    - struct sa*
    - uint8_t
    - enum bfcp_prim
    - uint32_t
    - uint16_t
    - bfcp_resp_h*
    - void*
    - unsigned
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 197
    functionName: bfcp_vrequest
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached:
    - bfcp_msg_vencode
    - list_append
    - mem_deref
    - tmr_start
    - mem_zalloc
    - bfcp_send
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int bfcp_vrequest(struct bfcp_conn *bc, const struct sa *dst, uint8_t
      ver,\n\t\t  enum bfcp_prim prim, uint32_t confid, uint16_t userid,\n\t\t  bfcp_resp_h
      *resph, void *arg, unsigned attrc, va_list *ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:222,1
    - Dst: bfcp_vrequest
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:223,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - bc
    - dst
    - ver
    - prim
    - confid
    - userid
    - resph
    - arg
    - attrc
    argTypes:
    - struct bfcp_conn*
    - struct sa*
    - uint8_t
    - enum bfcp_prim
    - uint32_t
    - uint16_t
    - bfcp_resp_h*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 228
    functionName: bfcp_request
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - bfcp_vrequest
    linkageType: ''
    returnType: int
    signature: "int bfcp_request(struct bfcp_conn *bc, const struct sa *dst, uint8_t
      ver,\n\t\t enum bfcp_prim prim, uint32_t confid, uint16_t userid,\n\t\t bfcp_resp_h
      *resph, void *arg, unsigned attrc, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:251,1
    - Dst: bfcp_vrequest
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:252,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/bfcp/request.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - bc
    - dst
    - ver
    - prim
    - confid
    - userid
    - attrc
    argTypes:
    - struct bfcp_conn*
    - struct sa*
    - uint8_t
    - enum bfcp_prim
    - uint32_t
    - uint16_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: bfcp_notify
    functionSourceFile: /src/rtpproxy/external/libre/src/bfcp/request.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - bfcp_vrequest
    linkageType: ''
    returnType: int
    signature: "int bfcp_notify(struct bfcp_conn *bc, const struct sa *dst, uint8_t
      ver,\n\t\tenum bfcp_prim prim, uint32_t confid, uint16_t userid,\n\t\tunsigned
      attrc, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:24,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:30,1
    - Dst: rtcp_vencode
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:31,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:32,1
    - Dst: rtcp_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:37,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - rs
    - type
    - count
    argTypes:
    - struct rtp_sock*
    - enum rtcp_type
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 42
    functionName: rtcp_quick_send
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached:
    - va_start
    - mem_deref
    - rtcp_vencode
    - rtcp_send
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int rtcp_quick_send(struct rtp_sock *rs, enum rtcp_type type,\n\t\t\t
      \  uint32_t count, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_quick_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:58,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rs
    - name
    - data
    - len
    argTypes:
    - struct rtp_sock*
    - char[]
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: rtcp_send_app
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached:
    - rtp_sess_ssrc
    - rtcp_quick_send
    linkageType: ''
    returnType: int
    signature: "int rtcp_send_app(struct rtp_sock *rs, const char name[4],\n\t\t  const
      uint8_t *data, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_quick_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rs
    - ssrc
    argTypes:
    - struct rtp_sock*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: rtcp_send_fir
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached:
    - rtcp_quick_send
    linkageType: ''
    returnType: int
    signature: int rtcp_send_fir(struct rtp_sock *rs, uint32_t ssrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_quick_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:88,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rs
    - fsn
    - blp
    argTypes:
    - struct rtp_sock*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: rtcp_send_nack
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached:
    - rtp_sess_ssrc
    - rtcp_quick_send
    linkageType: ''
    returnType: int
    signature: int rtcp_send_nack(struct rtp_sock *rs, uint16_t fsn, uint16_t blp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_quick_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:102,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rs
    - fb_ssrc
    argTypes:
    - struct rtp_sock*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: rtcp_send_pli
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached:
    - rtp_sess_ssrc
    - rtcp_quick_send
    linkageType: ''
    returnType: int
    signature: int rtcp_send_pli(struct rtp_sock *rs, uint32_t fb_ssrc)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum rtcp_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: rtcp_type_name
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rtcp_type_name(enum rtcp_type type)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - sdes
    argTypes:
    - enum rtcp_sdes_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: rtcp_sdes_name
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rtcp_sdes_name(enum rtcp_sdes_type sdes)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:161,1
    - Dst: rtcp_type_name
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:162,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:171,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:180,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:188,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:191,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:202,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:207,1
    - Dst: rtcp_sdes_name
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:208,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:212,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:217,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:219,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:222,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:226,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:233,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:237,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:243,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:248,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:250,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:258,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:263,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:265,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:272,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:278,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtcp.c:282,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 2
    argNames:
    - pf
    - msg
    argTypes:
    - struct re_printf*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 285
    functionName: rtcp_msg_print
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtcp.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - rtcp_type_name
    - rtcp_sdes_name
    linkageType: ''
    returnType: int
    signature: int rtcp_msg_print(struct re_printf *pf, const struct rtcp_msg *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:31,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:35,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:47,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:49,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:51,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:56,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:60,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:65,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 72
    functionName: rtcp_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/pkt.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void rtcp_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:93,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:94,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:95,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mb
    - count
    - type
    - length
    argTypes:
    - struct mbuf*
    - uint8_t
    - enum rtcp_type
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: rtcp_hdr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/pkt.c
    functionUses: 0
    functionsReached:
    - htons
    - mbuf_write_u16
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: "int rtcp_hdr_encode(struct mbuf *mb, uint8_t count, enum rtcp_type
      type,\n\t\t    uint16_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:115,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:118,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:119,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:120,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct rtcp_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: rtcp_hdr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/pkt.c
    functionUses: 0
    functionsReached:
    - ntohs
    - mbuf_read_u8
    - mbuf_get_left
    - mbuf_read_u16
    linkageType: ''
    returnType: int
    signature: int rtcp_hdr_decode(struct mbuf *mb, struct rtcp_hdr *hdr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:155,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:155,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:155,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:156,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:157,1
    - Dst: ench
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:159,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:163,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:163,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:163,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:164,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:165,1
    - Dst: ench
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:167,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:171,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:172,1
    - Dst: ench
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:174,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:178,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:179,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:181,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:181,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:184,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:184,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:185,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:190,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:190,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:190,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:191,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:191,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:192,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:193,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:196,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:199,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:204,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:204,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:204,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:208,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:208,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:208,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:209,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:209,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:209,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:210,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:210,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:210,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:215,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:215,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:215,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:216,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:216,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:216,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:217,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:218,1
    - Dst: ench
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:220,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:231,1
    - Dst: rtcp_hdr_encode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:238,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 4
    argNames:
    - mb
    - type
    - count
    - ap
    argTypes:
    - struct mbuf*
    - enum rtcp_type
    - uint32_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 245
    functionName: rtcp_vencode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/pkt.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - va_arg
    - mbuf_write_u32
    - mbuf_write_u16
    - mbuf_write_str
    - DEBUG_WARNING
    - htons
    - mbuf_write_u8
    - ench
    - strlen
    - rtcp_hdr_encode
    - htonl
    linkageType: ''
    returnType: int
    signature: "int rtcp_vencode(struct mbuf *mb, enum rtcp_type type, uint32_t count,\n\t\t
      va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:262,1
    - Dst: rtcp_vencode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:263,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mb
    - type
    - count
    argTypes:
    - struct mbuf*
    - enum rtcp_type
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: rtcp_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/pkt.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - rtcp_vencode
    linkageType: ''
    returnType: int
    signature: int rtcp_encode(struct mbuf *mb, enum rtcp_type type, uint32_t count,
      ...)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:286,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:289,1
    - Dst: rtcp_hdr_decode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:296,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:305,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:313,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:315,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:315,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:316,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:316,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:317,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:317,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:318,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:318,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:319,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:319,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:320,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:320,1
    - Dst: rtcp_rr_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:322,1
    - Dst: rtcp_rr_decode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:326,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:330,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:332,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:332,1
    - Dst: rtcp_rr_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:334,1
    - Dst: rtcp_rr_decode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:338,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:346,1
    - Dst: rtcp_sdes_decode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:353,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:358,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:363,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:366,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:366,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:370,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:371,1
    - Dst: mbuf_strdup
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:374,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:379,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:381,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:381,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:382,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:386,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:391,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:393,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:399,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:401,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:401,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:405,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:407,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:407,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:408,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:408,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:409,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:409,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:413,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:419,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:419,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:420,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:420,1
    - Dst: rtcp_rtpfb_decode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:423,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:427,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:433,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:433,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:434,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:434,1
    - Dst: rtcp_psfb_decode
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:437,1
    - Dst: mbuf_advance
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:442,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:449,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:454,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/pkt.c:461,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 161
    argCount: 2
    argNames:
    - msgp
    - mb
    argTypes:
    - struct rtcp_msg**
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 463
    functionName: rtcp_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/pkt.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - rtcp_hdr_decode
    - mbuf_read_mem
    - mbuf_strdup
    - mbuf_advance
    - rtcp_rr_alloc
    - mem_deref
    - rtcp_rr_decode
    - rtcp_sdes_decode
    - ntohs
    - mbuf_read_u32
    - mem_zalloc
    - ntohl
    - mbuf_read_u16
    - rtcp_rtpfb_decode
    - rtcp_psfb_decode
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtcp_decode(struct rtcp_msg **msgp, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rrp
    - count
    argTypes:
    - struct rtcp_rr**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: rtcp_rr_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rr.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    linkageType: ''
    returnType: int
    signature: int rtcp_rr_alloc(struct rtcp_rr **rrp, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:42,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:42,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:43,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:43,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:45,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:45,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:46,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:46,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:47,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:47,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:48,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mb
    - rr
    argTypes:
    - struct mbuf*
    - struct rtcp_rr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: rtcp_rr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rr.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u32
    - htonl
    linkageType: ''
    returnType: int
    signature: int rtcp_rr_encode(struct mbuf *mb, const struct rtcp_rr *rr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:60,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:63,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:63,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:64,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:64,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:66,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:66,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:67,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:67,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:68,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:68,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:69,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rr.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - mb
    - rr
    argTypes:
    - struct mbuf*
    - struct rtcp_rr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: rtcp_rr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rr.c
    functionUses: 1
    functionsReached:
    - mbuf_read_u32
    - mbuf_get_left
    - ntohl
    linkageType: ''
    returnType: int
    signature: int rtcp_rr_decode(struct mbuf *mb, struct rtcp_rr *rr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:68,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:69,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:69,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:70,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:70,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:71,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:71,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:74,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct rtp_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: rtp_hdr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_write_u32
    - htons
    - htonl
    linkageType: ''
    returnType: int
    signature: int rtp_hdr_encode(struct mbuf *mb, const struct rtp_header *hdr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:98,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:101,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:112,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:112,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:113,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:113,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:114,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:114,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:117,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:121,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:121,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:125,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:128,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:128,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:129,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:129,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - hdr
    - mb
    argTypes:
    - struct rtp_header*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 138
    functionName: rtp_hdr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 2
    functionsReached:
    - mbuf_read_mem
    - ntohs
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u16
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtp_hdr_decode(struct rtp_header *hdr, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: udp_handler_set
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:148,1
    - Dst: udp_handler_set
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:149,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:157,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:159,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 161
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - udp_handler_set
    linkageType: ''
    returnType: void
    signature: void destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_decode
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:169,1
    - Dst: rtcp_handler
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:172,1
    - Dst: struct rtp_sock*::rtcph
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:176,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: rtcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - struct rtp_sock*::rtcph
    - mem_deref
    - rtcp_handler
    - rtcp_decode
    linkageType: ''
    returnType: void
    signature: void rtcp_recv_handler(const struct sa *src, struct mbuf *mb, void
      *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:193,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:196,1
    - Dst: rtcp_recv_handler
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:199,1
    - Dst: rtp_decode
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:204,1
    - Dst: rtcp_sess_rx_rtp
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:209,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:210,1
    - Dst: struct rtp_sock*::recvh
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - struct rtp_sock*::recvh
    - mbuf_buf
    - rtp_decode
    - rtcp_sess_rx_rtp
    - mbuf_get_left
    - rtcp_recv_handler
    linkageType: ''
    returnType: void
    signature: void udp_recv_handler(const struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:232,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:235,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:236,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:240,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:241,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - rs
    - ip
    - min_port
    - max_port
    argTypes:
    - struct rtp_sock*
    - struct sa*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 254
    functionName: udp_range_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - rand_u16
    - mem_deref
    - udp_listen
    - sa_set_port
    linkageType: ''
    returnType: int
    signature: "int udp_range_listen(struct rtp_sock *rs, const struct sa *ip,\n\t\t\t
      \   uint16_t min_port, uint16_t max_port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:271,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:275,1
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:277,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - struct rtp_sock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: rtp_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - rand_u16
    - sa_init
    - mem_zalloc
    - rand_u32
    linkageType: ''
    returnType: int
    signature: int rtp_alloc(struct rtp_sock **rsp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rtp_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:311,1
    - Dst: rtcp_sess_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:322,1
    - Dst: udp_range_listen
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:330,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 9
    argNames:
    - rsp
    - proto
    - ip
    - min_port
    - max_port
    - enable_rtcp
    - recvh
    - rtcph
    - arg
    argTypes:
    - struct rtp_sock**
    - int
    - struct sa*
    - uint16_t
    - uint16_t
    - bool
    - rtp_recv_h*
    - rtcp_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 345
    functionName: rtp_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - rtcp_sess_alloc
    - mem_deref
    - rtp_alloc
    - udp_range_listen
    linkageType: ''
    returnType: int
    signature: "int rtp_listen(struct rtp_sock **rsp, int proto, const struct sa *ip,\n\t
      \      uint16_t min_port, uint16_t max_port, bool enable_rtcp,\n\t       rtp_recv_h
      *recvh, rtcp_recv_h *rtcph, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_hdr_encode
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - rs
    - ext
    - marker
    - pt
    - ts
    - mb
    argTypes:
    - struct rtp_sock*
    - bool
    - bool
    - uint8_t
    - uint32_t
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 381
    functionName: rtp_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - rtp_hdr_encode
    linkageType: ''
    returnType: int
    signature: "int rtp_encode(struct rtp_sock *rs, bool ext, bool marker, uint8_t
      pt,\n\t       uint32_t ts, struct mbuf *mb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:401,1
    - Dst: rtp_hdr_decode
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - rs
    - mb
    - hdr
    argTypes:
    - struct rtp_sock*
    - struct mbuf*
    - struct rtp_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 410
    functionName: rtp_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 1
    functionsReached:
    - rtp_hdr_decode
    - memset
    linkageType: ''
    returnType: int
    signature: "int rtp_decode(struct rtp_sock *rs, struct mbuf *mb,\n\t       struct
      rtp_header *hdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:436,1
    - Dst: mbuf_advance
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:442,1
    - Dst: rtp_encode
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:446,1
    - Dst: rtcp_sess_tx_rtp
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:451,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:451,1
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - rs
    - dst
    - ext
    - marker
    - pt
    - ts
    - mb
    argTypes:
    - struct rtp_sock*
    - struct sa*
    - bool
    - bool
    - uint8_t
    - uint32_t
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 456
    functionName: rtp_send
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - mbuf_get_left
    - mbuf_advance
    - DEBUG_WARNING
    - rtp_encode
    - rtcp_sess_tx_rtp
    - udp_send
    linkageType: ''
    returnType: int
    signature: "int rtp_send(struct rtp_sock *rs, const struct sa *dst, bool ext,\n\t
      \    bool marker, uint8_t pt, uint32_t ts, struct mbuf *mb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: rtp_sock
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rtp_sock(const struct rtp_sock *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: rtcp_sock
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rtcp_sock(const struct rtp_sock *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: rtp_local
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *rtp_local(const struct rtp_sock *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: rtp_sess_ssrc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rtp_sess_ssrc(const struct rtp_sock *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: rtp_rtcp_sess
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rtcp_sess
    signature: struct rtcp_sess *rtp_rtcp_sess(const struct rtp_sock *rs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_enable
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rs
    - cname
    - peer
    argTypes:
    - struct rtp_sock*
    - char*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 541
    functionName: rtcp_start
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - rtcp_enable
    linkageType: ''
    returnType: void
    signature: "void rtcp_start(struct rtp_sock *rs, const char *cname,\n\t\tconst
      struct sa *peer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rs
    - enabled
    argTypes:
    - struct rtp_sock*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: rtcp_enable_mux
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtcp_enable_mux(struct rtp_sock *rs, bool enabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:569,1
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - rs
    - mb
    argTypes:
    - struct rtp_sock*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: rtcp_send
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 1
    functionsReached:
    - sa_isset
    - udp_send
    linkageType: ''
    returnType: int
    signature: int rtcp_send(struct rtp_sock *rs, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:592,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:593,1
    - Dst: rtcp_debug
      Src: /src/rtpproxy/external/libre/src/rtp/rtp.c:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pf
    - rs
    argTypes:
    - struct re_printf*
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 600
    functionName: rtp_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/rtp.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - rtcp_debug
    linkageType: ''
    returnType: int
    signature: int rtp_debug(struct re_printf *pf, const struct rtp_sock *rs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_bye_packet
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:74,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:76,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:78,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:79,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:80,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: sess_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_flush
    - send_bye_packet
    linkageType: ''
    returnType: void
    signature: void sess_destructor(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: member_find
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:89,1
    - Dst: member_add
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sess
    - src
    argTypes:
    - struct rtcp_sess*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: get_member
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - member_find
    - member_add
    linkageType: ''
    returnType: struct rtp_member
    signature: struct rtp_member *get_member(struct rtcp_sess *sess, uint32_t src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntp_time_get
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:113,1
    - Dst: ntp_compact2us
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:117,1
    - Dst: ntp_compact
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:117,1
    - Dst: ntp_compact2us
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:118,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rtt
    - lsr
    - dlsr
    argTypes:
    - uint32_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: calc_rtt
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - MAX
    - ntp_compact2us
    - ntp_time_get
    - ntp_compact
    linkageType: ''
    returnType: void
    signature: void calc_rtt(uint32_t *rtt, uint32_t lsr, uint32_t dlsr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_rtt
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - sess
    - mbr
    - rr
    argTypes:
    - struct rtcp_sess*
    - struct rtp_member*
    - struct rtcp_rr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: handle_rr_block
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - calc_rtt
    linkageType: ''
    returnType: void
    signature: "void handle_rr_block(struct rtcp_sess *sess, struct rtp_member *mbr,\n\t\t\t
      \   const struct rtcp_rr *rr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_member
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:150,1
    - Dst: handle_rr_block
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sess
    - msg
    argTypes:
    - struct rtcp_sess*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: handle_incoming_rr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - get_member
    - handle_rr_block
    linkageType: ''
    returnType: void
    signature: "void handle_incoming_rr(struct rtcp_sess *sess,\n\t\t\t       const
      struct rtcp_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_member
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:166,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:168,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:175,1
    - Dst: handle_rr_block
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - sess
    - msg
    argTypes:
    - struct rtcp_sess*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 187
    functionName: handle_incoming_sr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - get_member
    - tmr_jiffies
    - DEBUG_WARNING
    - handle_rr_block
    linkageType: ''
    returnType: void
    signature: "void handle_incoming_sr(struct rtcp_sess *sess,\n\t\t\t       const
      struct rtcp_msg *msg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: member_find
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:199,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sess
    - msg
    argTypes:
    - struct rtcp_sess*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: handle_incoming_bye
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - member_find
    - mem_deref
    linkageType: ''
    returnType: void
    signature: "void handle_incoming_bye(struct rtcp_sess *sess,\n\t\t\t\tconst struct
      rtcp_msg *msg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: handle_incoming_sr
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:219,1
    - Dst: handle_incoming_rr
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:223,1
    - Dst: handle_incoming_bye
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - sess
    - msg
    argTypes:
    - struct rtcp_sess*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: rtcp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - handle_incoming_rr
    - handle_incoming_bye
    - handle_incoming_sr
    linkageType: ''
    returnType: void
    signature: void rtcp_handler(struct rtcp_sess *sess, struct rtcp_msg *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:244,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:249,1
    - Dst: lock_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:251,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:255,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - sessp
    - rs
    argTypes:
    - struct rtcp_sess**
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 266
    functionName: rtcp_sess_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - tmr_init
    - hash_alloc
    - mem_deref
    - lock_alloc
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int rtcp_sess_alloc(struct rtcp_sess **sessp, struct rtp_sock *rs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_rtcp_sess
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rs
    - srate_tx
    - srate_rx
    argTypes:
    - struct rtp_sock*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: rtcp_set_srate
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - rtp_rtcp_sess
    linkageType: ''
    returnType: void
    signature: void rtcp_set_srate(struct rtp_sock *rs, uint32_t srate_tx, uint32_t
      srate_rx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_rtcp_sess
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rs
    - srate_tx
    argTypes:
    - struct rtp_sock*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: rtcp_set_srate_tx
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - rtp_rtcp_sess
    linkageType: ''
    returnType: void
    signature: void rtcp_set_srate_tx(struct rtp_sock *rs, uint32_t srate_tx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_rtcp_sess
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rs
    - srate_rx
    argTypes:
    - struct rtp_sock*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: rtcp_set_srate_rx
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - rtp_rtcp_sess
    linkageType: ''
    returnType: void
    signature: void rtcp_set_srate_rx(struct rtp_sock *rs, uint32_t srate_rx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:326,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:327,1
    - Dst: schedule
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:332,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - sess
    - enabled
    - cname
    argTypes:
    - struct rtcp_sess*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 337
    functionName: rtcp_enable
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - str_dup
    - tmr_cancel
    - mem_deref
    - schedule
    linkageType: ''
    returnType: int
    signature: int rtcp_enable(struct rtcp_sess *sess, bool enabled, const char *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntp_compact
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - last_sr
    argTypes:
    - struct ntp_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: calc_lsr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - ntp_compact
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t calc_lsr(const struct ntp_time *last_sr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sr_recv
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: calc_dlsr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - tmr_jiffies
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t calc_dlsr(uint64_t sr_recv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: source_calc_fraction_lost
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:371,1
    - Dst: source_calc_lost
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:372,1
    - Dst: calc_lsr
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:375,1
    - Dst: calc_dlsr
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:376,1
    - Dst: rtcp_rr_encode
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 379
    functionName: sender_apply_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - source_calc_lost
    - rtcp_rr_encode
    - calc_dlsr
    - calc_lsr
    - source_calc_fraction_lost
    linkageType: ''
    returnType: bool
    signature: bool sender_apply_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_apply
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: encode_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - hash_apply
    linkageType: ''
    returnType: int
    signature: int encode_handler(struct mbuf *mb, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntp_time_get
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:402,1
    - Dst: lock_write_get
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:406,1
    - Dst: lock_rel
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:409,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:412,1
    - Dst: rtcp_encode
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:416,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - sess
    - mb
    argTypes:
    - struct rtcp_sess*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 423
    functionName: mk_sr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - tmr_jiffies
    - ntp_time_get
    - lock_rel
    - rtp_sess_ssrc
    - lock_write_get
    - rtcp_encode
    linkageType: ''
    returnType: int
    signature: int mk_sr(struct rtcp_sess *sess, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_sdes_encode
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:430,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: sdes_encode_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - rtcp_sdes_encode
    - rtp_sess_ssrc
    linkageType: ''
    returnType: int
    signature: int sdes_encode_handler(struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtcp_encode
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sess
    - mb
    argTypes:
    - struct rtcp_sess*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: mk_sdes
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - rtcp_encode
    linkageType: ''
    returnType: int
    signature: int mk_sdes(struct rtcp_sess *sess, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:446,1
    - Dst: mk_sr
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:452,1
    - Dst: mk_sdes
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:453,1
    - Dst: rtcp_send
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:459,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct rtcp_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 441
    functionDepth: 5
    functionLinenumber: 441
    functionLinenumberEnd: 464
    functionName: send_rtcp_report
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - mk_sdes
    - rtcp_send
    - mbuf_alloc
    - mk_sr
    linkageType: ''
    returnType: int
    signature: int send_rtcp_report(struct rtcp_sess *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:469,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:473,1
    - Dst: rtcp_encode
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:479,1
    - Dst: mk_sdes
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:480,1
    - Dst: rtcp_send
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:486,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct rtcp_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 5
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: send_bye_packet
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - mk_sdes
    - rtp_sess_ssrc
    - rtcp_send
    - rtcp_encode
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int send_bye_packet(struct rtcp_sess *sess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_rtcp_report
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:499,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:501,1
    - Dst: schedule
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 6
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 4
    functionsReached:
    - schedule
    - send_rtcp_report
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct rtcp_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: schedule
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 2
    functionsReached:
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void schedule(struct rtcp_sess *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lock_write_get
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:519,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:525,1
    - Dst: lock_rel
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sess
    - ts
    - payload_size
    argTypes:
    - struct rtcp_sess*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: rtcp_sess_tx_rtp
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - lock_rel
    - lock_write_get
    - tmr_jiffies
    linkageType: ''
    returnType: void
    signature: void rtcp_sess_tx_rtp(struct rtcp_sess *sess, uint32_t ts, size_t payload_size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_member
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:543,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:545,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:550,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:552,1
    - Dst: source_init_seq
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:557,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:559,1
    - Dst: source_update_seq
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:563,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:564,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:572,1
    - Dst: source_calc_jitter
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - sess
    - seq
    - ts
    - ssrc
    - payload_size
    - peer
    argTypes:
    - struct rtcp_sess*
    - uint16_t
    - uint32_t
    - uint32_t
    - size_t
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 578
    functionName: rtcp_sess_rx_rtp
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - tmr_jiffies
    - source_calc_jitter
    - DEBUG_WARNING
    - DEBUG_NOTICE
    - get_member
    - mem_zalloc
    - sa_cpy
    - source_init_seq
    - source_update_seq
    linkageType: ''
    returnType: void
    signature: "void rtcp_sess_rx_rtp(struct rtcp_sess *sess, uint16_t seq, uint32_t
      ts,\n\t\t      uint32_t ssrc, size_t payload_size,\n\t\t      const struct sa
      *peer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rtp_rtcp_sess
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:592,1
    - Dst: member_find
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:598,1
    - Dst: lock_read_get
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:602,1
    - Dst: lock_rel
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:604,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:612,1
    - Dst: source_calc_lost
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - rs
    - ssrc
    - stats
    argTypes:
    - struct rtp_sock*
    - uint32_t
    - struct rtcp_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 622
    functionName: rtcp_stats
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - source_calc_lost
    - lock_rel
    - lock_read_get
    - rtp_rtcp_sess
    - member_find
    - memset
    linkageType: ''
    returnType: int
    signature: int rtcp_stats(struct rtp_sock *rs, uint32_t ssrc, struct rtcp_stats
      *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:631,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 625
    functionDepth: 4
    functionLinenumber: 625
    functionLinenumberEnd: 642
    functionName: debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: bool
    signature: bool debug_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtp_rtcp_sess
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:655,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:661,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:662,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:664,1
    - Dst: rtp_sess_ssrc
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:664,1
    - Dst: hash_apply
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:667,1
    - Dst: lock_read_get
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:669,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:670,1
    - Dst: lock_rel
      Src: /src/rtpproxy/external/libre/src/rtp/sess.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pf
    - rs
    argTypes:
    - struct re_printf*
    - struct rtp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 653
    functionDepth: 4
    functionLinenumber: 653
    functionLinenumberEnd: 675
    functionName: rtcp_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sess.c
    functionUses: 1
    functionsReached:
    - lock_rel
    - hash_apply
    - rtp_sess_ssrc
    - lock_read_get
    - rtp_rtcp_sess
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int rtcp_debug(struct re_printf *pf, const struct rtp_sock *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/rtp/member.c:22,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtp/member.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/member.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtp/member.c:31,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/rtp/member.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ht
    - src
    argTypes:
    - struct hash*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: member_add
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/member.c
    functionUses: 1
    functionsReached:
    - hash_append
    - mem_zalloc
    linkageType: ''
    returnType: struct rtp_member
    signature: struct rtp_member *member_add(struct hash *ht, uint32_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: hash_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/member.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hash_cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/rtp/member.c:52,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/rtp/member.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht
    - src
    argTypes:
    - struct hash*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: member_find
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/member.c
    functionUses: 3
    functionsReached:
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct rtp_member
    signature: struct rtp_member *member_find(struct hash *ht, uint32_t src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:44,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:44,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:45,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mb
    - pid
    - blp
    argTypes:
    - struct mbuf*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: rtcp_rtpfb_gnack_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/fb.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u16
    - htons
    linkageType: ''
    returnType: int
    signature: int rtcp_rtpfb_gnack_encode(struct mbuf *mb, uint16_t pid, uint16_t
      blp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:64,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mb
    - first
    - number
    - picid
    argTypes:
    - struct mbuf*
    - uint16_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: rtcp_psfb_sli_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/fb.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u32
    - htonl
    linkageType: ''
    returnType: int
    signature: "int rtcp_psfb_sli_encode(struct mbuf *mb, uint16_t first, uint16_t
      number,\n\t\t\t uint8_t picid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:90,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:94,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:97,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:97,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:98,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:98,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - mb
    - msg
    argTypes:
    - struct mbuf*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 108
    functionName: rtcp_rtpfb_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/fb.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - ntohs
    - DEBUG_NOTICE
    - mbuf_read_u16
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtcp_rtpfb_decode(struct mbuf *mb, struct rtcp_msg *msg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:134,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:138,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:141,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:141,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:152,1
    - Dst: mbuf_alloc_ref
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:155,1
    - Dst: mbuf_advance
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:160,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/rtp/fb.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - mb
    - msg
    argTypes:
    - struct mbuf*
    - struct rtcp_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 169
    functionName: rtcp_psfb_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/fb.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - mbuf_advance
    - mbuf_alloc_ref
    - DEBUG_NOTICE
    - mbuf_read_u32
    - ntohl
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtcp_psfb_decode(struct mbuf *mb, struct rtcp_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ntp
    - tv
    argTypes:
    - struct ntp_time*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: unix2ntp
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/ntp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unix2ntp(struct ntp_time *ntp, const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tv
    - ntp
    argTypes:
    - struct timeval*
    - struct ntp_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ntp2unix
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/ntp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ntp2unix(struct timeval *tv, const struct ntp_time *ntp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/rtpproxy/external/libre/src/rtp/ntp.c:64,1
    - Dst: gettimeofday
      Src: /src/rtpproxy/external/libre/src/rtp/ntp.c:68,1
    - Dst: unix2ntp
      Src: /src/rtpproxy/external/libre/src/rtp/ntp.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ntp
    argTypes:
    - struct ntp_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: ntp_time_get
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/ntp.c
    functionUses: 2
    functionsReached:
    - unix2ntp
    - gettimeofday
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int ntp_time_get(struct ntp_time *ntp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ntp
    argTypes:
    - struct ntp_time*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ntp_compact
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/ntp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ntp_compact(const struct ntp_time *ntp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ntpc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: ntp_compact2us
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/ntp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ntp_compact2us(uint32_t ntpc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - seq
    argTypes:
    - struct rtp_source*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: source_init_seq
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/source.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void source_init_seq(struct rtp_source *s, uint16_t seq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: source_init_seq
      Src: /src/rtpproxy/external/libre/src/rtp/source.c:60,1
    - Dst: source_init_seq
      Src: /src/rtpproxy/external/libre/src/rtp/source.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - s
    - seq
    argTypes:
    - struct rtp_source*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 104
    functionName: source_update_seq
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/source.c
    functionUses: 1
    functionsReached:
    - source_init_seq
    linkageType: ''
    returnType: int
    signature: int source_update_seq(struct rtp_source *s, uint16_t seq)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - s
    - rtp_ts
    - arrival
    argTypes:
    - struct rtp_source*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: source_calc_jitter
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/source.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void source_calc_jitter(struct rtp_source *s, uint32_t rtp_ts,\n\t\t\tuint32_t
      arrival)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rtp_source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: source_calc_lost
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/source.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int source_calc_lost(const struct rtp_source *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct rtp_source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: source_calc_fraction_lost
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/source.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t source_calc_fraction_lost(struct rtp_source *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:45,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:48,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:48,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:52,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:53,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:58,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:64,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:65,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:66,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:70,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:72,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - mb
    - src
    - itemc
    argTypes:
    - struct mbuf*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 78
    functionName: rtcp_sdes_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sdes.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - va_arg
    - mbuf_write_u32
    - va_start
    - mbuf_write_u8
    - strlen
    - va_end
    - htonl
    linkageType: ''
    returnType: int
    signature: int rtcp_sdes_encode(struct mbuf *mb, uint32_t src, uint32_t itemc,
      ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:95,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:99,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:99,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:102,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:106,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:110,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:114,1
    - Dst: mem_realloc
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:122,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:132,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:133,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:135,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:138,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtp/sdes.c:144,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - mb
    - sdes
    argTypes:
    - struct mbuf*
    - struct rtcp_sdes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 148
    functionName: rtcp_sdes_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtp/sdes.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - mbuf_read_mem
    - mem_realloc
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtcp_sdes_decode(struct mbuf *mb, struct rtcp_sdes *sdes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: mod_init
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - list_init
    linkageType: ''
    returnType: void
    signature: void mod_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: mod_close
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - list_flush
    linkageType: ''
    returnType: void
    signature: void mod_close(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct mod_export*::close
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:57,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:58,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:61,1
    - Dst: _mod_close
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: mod_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - DEBUG_NOTICE
    - _mod_close
    - list_unlink
    - struct mod_export*::close
    linkageType: ''
    returnType: void
    signature: void mod_destructor(void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:82,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:82,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: mod_find
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - strlen
    - pl_strcasecmp
    - re_regex
    linkageType: ''
    returnType: struct mod
    signature: struct mod *mod_find(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mod_find
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:113,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:115,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:119,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:123,1
    - Dst: _mod_open
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:125,1
    - Dst: _mod_sym
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:131,1
    - Dst: struct mod*::me::init
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:137,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - mp
    - name
    argTypes:
    - struct mod**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 147
    functionName: mod_load
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - list_append
    - mem_deref
    - _mod_open
    - mod_find
    - DEBUG_NOTICE
    - struct mod*::me::init
    - mem_zalloc
    - _mod_sym
    linkageType: ''
    returnType: int
    signature: int mod_load(struct mod **mp, const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mod_find
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:167,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:169,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:173,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:177,1
    - Dst: struct mod*::me::init
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:182,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - mp
    - me
    argTypes:
    - struct mod**
    - struct mod_export*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 190
    functionName: mod_add
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - list_append
    - mem_deref
    - mod_find
    - struct mod*::me::init
    - DEBUG_NOTICE
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int mod_add(struct mod **mp, const struct mod_export *me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct mod*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: mod_export
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct mod_export
    signature: struct mod_export *mod_export(const struct mod *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: mod_list
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *mod_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:232,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:232,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:238,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:239,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mod/mod.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 245
    functionName: mod_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/mod.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_count
    - mem_nrefs
    linkageType: ''
    returnType: int
    signature: int mod_debug(struct re_printf *pf, void *unused)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:34,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:36,1
    - Dst: dlerror
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: _mod_open
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/dl.c
    functionUses: 1
    functionsReached:
    - dlopen
    - DEBUG_WARNING
    - dlerror
    linkageType: ''
    returnType: void
    signature: void *_mod_open(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:60,1
    - Dst: dlsym
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:62,1
    - Dst: dlerror
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:63,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - h
    - symbol
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: _mod_sym
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/dl.c
    functionUses: 1
    functionsReached:
    - dlsym
    - DEBUG_WARNING
    - dlerror
    linkageType: ''
    returnType: void
    signature: void *_mod_sym(void *h, const char *symbol)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:85,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mod/dl.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: _mod_close
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/dl.c
    functionUses: 1
    functionsReached:
    - dlclose
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void _mod_close(void *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:27,1
    - Dst: LoadLibraryA
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:29,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: _mod_open
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/win32/dll.c
    functionUses: 1
    functionsReached:
    - DEBUG_INFO
    - LoadLibraryA
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void *_mod_open(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:58,1
    - Dst: GetProcAddress
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:60,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - h
    - symbol
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: _mod_sym
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/win32/dll.c
    functionUses: 1
    functionsReached:
    - DEBUG_INFO
    - GetProcAddress
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void *_mod_sym(void *h, const char *symbol)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:79,1
    - Dst: FreeLibrary
      Src: /src/rtpproxy/external/libre/src/mod/win32/dll.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: _mod_close
    functionSourceFile: /src/rtpproxy/external/libre/src/mod/win32/dll.c
    functionUses: 1
    functionsReached:
    - DEBUG_INFO
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void _mod_close(void *h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:53,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:54,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
    functionUses: 0
    functionsReached:
    - close
    - fd_close
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pipe_read
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:70,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:75,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:81,1
    - Dst: struct mqueue*::h
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: event_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
    functionUses: 0
    functionsReached:
    - struct mqueue*::h
    - pipe_read
    - re_fprintf
    linkageType: ''
    returnType: void
    signature: void event_handler(int flags, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:107,1
    - Dst: pipe
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:115,1
    - Dst: net_sockopt_blocking_set
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:120,1
    - Dst: net_sockopt_blocking_set
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:124,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:128,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:134,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - mqp
    - h
    - arg
    argTypes:
    - struct mqueue**
    - mqueue_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 139
    functionName: mqueue_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
    functionUses: 0
    functionsReached:
    - net_sockopt_blocking_set
    - pipe
    - mem_deref
    - mem_zalloc
    - fd_listen
    linkageType: ''
    returnType: int
    signature: int mqueue_alloc(struct mqueue **mqp, mqueue_h *h, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pipe_write
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mq
    - id
    - data
    argTypes:
    - struct mqueue*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: mqueue_push
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
    functionUses: 0
    functionsReached:
    - pipe_write
    linkageType: ''
    returnType: int
    signature: int mqueue_push(struct mqueue *mq, int id, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: pipe_read
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/mqueue.h
    functionUses: 1
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pipe_read(int s, void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/rtpproxy/external/libre/src/mqueue/mqueue.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: pipe_write
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/mqueue.h
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pipe_write(int s, const void *buf, size_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:20,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:23,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:25,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:26,1
    - Dst: bind
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:27,1
    - Dst: listen
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:30,1
    - Dst: getsockname
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:33,1
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:36,1
    - Dst: connect
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:39,1
    - Dst: closesocket
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:40,1
    - Dst: accept
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:44,1
    - Dst: closesocket
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:46,1
    - Dst: closesocket
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:53,1
    - Dst: closesocket
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:57,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - fds
    argTypes:
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 59
    functionName: pipe
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c
    functionUses: 3
    functionsReached:
    - closesocket
    - bind
    - listen
    - connect
    - socket
    - htons
    - accept
    - getsockname
    - memset
    - htonl
    linkageType: ''
    returnType: int
    signature: int pipe(int fds[2])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:64,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: pipe_read
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c
    functionUses: 1
    functionsReached:
    - recv
    - WSAGetLastError
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pipe_read(int s, void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pipe_write
    functionSourceFile: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c
    functionUses: 1
    functionsReached:
    - send
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t pipe_write(int s, const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: dummy_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:66,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:74,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:78,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:79,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:84,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:85,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:86,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:87,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:88,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:89,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 91
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - request
    - mem_ref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:96,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:96,1
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - failc
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: failwait
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - rand_u16
    - min
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t failwait(uint32_t failc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:105,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:107,1
    - Dst: failwait
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:107,1
    - Dst: struct sipreg*::resph
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - struct sipreg*::resph
    - failwait
    - tmr_start
    - request
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:121,1
    - Dst: failwait
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:121,1
    - Dst: struct sipreg*::resph
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: keepalive_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - struct sipreg*::resph
    - tmr_start
    - failwait
    linkageType: ''
    returnType: void
    signature: void keepalive_handler(int err, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:130,1
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:133,1
    - Dst: sip_keepalive_start
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:135,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - reg
    - msg
    argTypes:
    - struct sipreg*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: start_outbound
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - sip_msg_hdr_has_value
    - sip_keepalive_start
    - sip_msg_hdr
    - pl_u32
    linkageType: ''
    returnType: void
    signature: void start_outbound(struct sipreg *reg, const struct sip_msg *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:149,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:152,1
    - Dst: sip_transp_param
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:153,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:156,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:159,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:160,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:162,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - hdr
    - msg
    - arg
    argTypes:
    - struct sip_hdr*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: contact_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - pl_isset
    - pl_u32
    - sip_addr_decode
    - sip_transp_param
    - msg_param_decode
    - re_snprintf
    linkageType: ''
    returnType: bool
    signature: "bool contact_handler(const struct sip_hdr *hdr,\n\t\t\t    const struct
      sip_msg *msg, void *arg)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: failwait
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:176,1
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:178,1
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:189,1
    - Dst: start_outbound
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:195,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:205,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:211,1
    - Dst: sip_auth_reset
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:218,1
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:222,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:223,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:226,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:228,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:240,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:243,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:244,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:247,1
    - Dst: struct sipreg*::resph
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:248,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 250
    functionName: response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - sip_auth_authenticate
    - mem_deref
    - sip_request_loops
    - sip_auth_reset
    - failwait
    - tmr_start
    - struct sipreg*::resph
    - pl_u32
    - request
    - sip_msg_hdr
    - sip_msg_hdr_apply
    - start_outbound
    linkageType: ''
    returnType: void
    signature: void response_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:266,1
    - Dst: sip_transp_param
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:267,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:273,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tp
    - src
    - dst
    - mb
    - arg
    argTypes:
    - enum sip_transp
    - struct sa*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - sip_transp_param
    - mbuf_printf
    linkageType: ''
    returnType: int
    signature: "int send_handler(enum sip_transp tp, const struct sa *src,\n\t\t\tconst
      struct sa *dst, struct mbuf *mb, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:287,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:289,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:297,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - reg
    - reset_ls
    argTypes:
    - struct sipreg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 299
    functionName: request
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 22
    functionsReached:
    - sip_drequestf
    - mbuf_buf
    - mbuf_get_left
    - sip_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int request(struct sipreg *reg, bool reset_ls)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:341,1
    - Dst: sip_dialog_alloc
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:345,1
    - Dst: sip_auth_alloc
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:350,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:354,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:356,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:364,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:370,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:371,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:373,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:379,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:385,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipreg/reg.c:391,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 18
    argNames:
    - regp
    - sip
    - reg_uri
    - to_uri
    - from_name
    - from_uri
    - expires
    - cuser
    - routev
    - routec
    - regid
    - authh
    - aarg
    - aref
    - resph
    - arg
    - params
    - fmt
    argTypes:
    - struct sipreg**
    - struct sip*
    - char*
    - char*
    - char*
    - char*
    - uint32_t
    - char*
    - char*[]
    - uint32_t
    - int
    - sip_auth_h*
    - void*
    - bool
    - sip_resp_h*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 396
    functionName: sipreg_register
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached:
    - str_dup
    - sip_auth_alloc
    - mem_ref
    - mbuf_vprintf
    - va_start
    - mem_deref
    - mem_zalloc
    - request
    - sip_dialog_alloc
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sipreg_register(struct sipreg **regp, struct sip *sip, const char
      *reg_uri,\n\t\t    const char *to_uri, const char *from_name,\n\t\t    const
      char *from_uri, uint32_t expires,\n\t\t    const char *cuser, const char *routev[],
      uint32_t routec,\n\t\t    int regid, sip_auth_h *authh, void *aarg, bool aref,\n\t\t
      \   sip_resp_h *resph, void *arg,\n\t\t    const char *params, const char *fmt,
      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reg
    argTypes:
    - struct sipreg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: sipreg_laddr
    functionSourceFile: /src/rtpproxy/external/libre/src/sipreg/reg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *sipreg_laddr(const struct sipreg *reg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:101,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:102,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:103,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - mb
    - event
    - end
    - dur
    argTypes:
    - struct mbuf*
    - int
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: payload_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - htons
    - mbuf_write_u16
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int payload_encode(struct mbuf *mb, int event, bool end, uint16_t dur)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:119,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:122,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:123,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:126,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mb
    - fmt
    argTypes:
    - struct mbuf*
    - struct telev_fmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: payload_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - ntohs
    - mbuf_read_u8
    - mbuf_get_left
    - mbuf_read_u16
    linkageType: ''
    returnType: int
    signature: int payload_decode(struct mbuf *mb, struct telev_fmt *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:156,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:160,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - tp
    - ptime
    argTypes:
    - struct telev**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 178
    functionName: telev_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - mem_zalloc
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int telev_alloc(struct telev **tp, uint32_t ptime)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - tel
    - srate
    argTypes:
    - struct telev*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: telev_set_srate
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int telev_set_srate(struct telev *tel, uint32_t srate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tel
    - event
    - end
    argTypes:
    - struct telev*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: telev_send
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int telev_send(struct telev *tel, int event, bool end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: payload_decode
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - tel
    - mb
    - event
    - end
    argTypes:
    - struct telev*
    - struct mbuf*
    - int*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: telev_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - payload_decode
    linkageType: ''
    returnType: int
    signature: int telev_recv(struct telev *tel, struct mbuf *mb, int *event, bool
      *end)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:293,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:298,1
    - Dst: payload_encode
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:303,1
    - Dst: payload_encode
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:309,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:314,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:317,1
    - Dst: payload_encode
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:325,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:330,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - tel
    - marker
    - mb
    argTypes:
    - struct telev*
    - bool*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 341
    functionName: telev_poll
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - mbuf_read_u8
    - mbuf_get_left
    - payload_encode
    linkageType: ''
    returnType: int
    signature: int telev_poll(struct telev *tel, bool *marker, struct mbuf *mb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/rtpproxy/external/libre/src/telev/telev.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - digit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: telev_digit2code
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int telev_digit2code(int digit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: telev_code2digit
    functionSourceFile: /src/rtpproxy/external/libre/src/telev/telev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int telev_code2digit(int code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_genalg*::h
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:53,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:60,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:61,1
    - Dst: struct nat_genalg*::h
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:63,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:67,1
    - Dst: struct nat_genalg*::h
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:69,1
    - Dst: struct nat_genalg*::h
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: stun_response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/genalg.c
    functionUses: 0
    functionsReached:
    - stun_msg_attr
    - struct nat_genalg*::h
    - sa_cmp
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: genalg_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/genalg.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void genalg_destructor(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:109,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:113,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:117,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - ngp
    - srv
    - proto
    - conf
    - gh
    - arg
    argTypes:
    - struct nat_genalg**
    - struct sa*
    - int
    - struct stun_conf*
    - nat_genalg_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 129
    functionName: nat_genalg_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/genalg.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - stun_alloc
    - mem_zalloc
    - sa_cpy
    linkageType: ''
    returnType: int
    signature: "int nat_genalg_alloc(struct nat_genalg **ngp, const struct sa *srv,
      int proto,\n\t\t     const struct stun_conf *conf,\n\t\t     nat_genalg_h *gh,
      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/genalg.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ng
    argTypes:
    - struct nat_genalg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: nat_genalg_start
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/genalg.c
    functionUses: 0
    functionsReached:
    - stun_request
    linkageType: ''
    returnType: int
    signature: int nat_genalg_start(struct nat_genalg *ng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:56,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:57,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:58,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: hairpinning_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void hairpinning_destructor(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:69,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:72,1
    - Dst: stun_reply
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:75,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:83,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:87,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:87,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - nh
    - proto
    - sock
    - src
    - mb
    argTypes:
    - struct nat_hairpinning*
    - int
    - void*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 92
    functionName: msg_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - stun_msg_class
    - DEBUG_WARNING
    - stun_reply
    - stun_ctrans_recv
    - stun_msg_decode
    linkageType: ''
    returnType: void
    signature: "void msg_recv(struct nat_hairpinning *nh, int proto, void *sock,\n\t\t
      \    const struct sa *src, struct mbuf *mb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_recv
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - msg_recv
    linkageType: ''
    returnType: void
    signature: "void udp_recv_handler(const struct sa *src, struct mbuf *mb,\n\t\t\t
      \    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:112,1
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: stun_response_handler2
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - struct nat_hairpinning*::hph
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler2(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \  const struct stun_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nh
    - srv
    argTypes:
    - struct nat_hairpinning*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: hairpin_send
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - stun_request
    linkageType: ''
    returnType: int
    signature: int hairpin_send(struct nat_hairpinning *nh, const struct sa *srv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_recv
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: tcp_recv_handler2
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - msg_recv
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler2(struct mbuf *mb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: tcp_close_handler2
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - struct nat_hairpinning*::hph
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler2(int err, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:160,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:164,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:166,1
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:169,1
    - Dst: hairpin_send
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:174,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:176,1
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: stun_response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - stun_msg_attr
    - hairpin_send
    - DEBUG_WARNING
    - struct nat_hairpinning*::hph
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nh
    argTypes:
    - struct nat_hairpinning*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: mapped_send
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - stun_request
    linkageType: ''
    returnType: int
    signature: int mapped_send(struct nat_hairpinning *nh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcp_accept
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:201,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - peer
    - arg
    argTypes:
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: tcp_conn_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - tcp_accept
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void tcp_conn_handler(const struct sa *peer, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapped_send
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:218,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:220,1
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: tcp_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - mapped_send
    - DEBUG_WARNING
    - struct nat_hairpinning*::hph
    linkageType: ''
    returnType: void
    signature: void tcp_estab_handler(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_recv
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:231,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 1
    functionsReached:
    - stun_recv
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_hairpinning*::hph
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: tcp_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - struct nat_hairpinning*::hph
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler(int err, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:272,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:276,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:280,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:288,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:292,1
    - Dst: tcp_sock_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:297,1
    - Dst: tcp_conn_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:301,1
    - Dst: tcp_sock_bind
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:307,1
    - Dst: tcp_sock_local_get
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:311,1
    - Dst: tcp_conn_bind
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:315,1
    - Dst: tcp_sock_listen
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:322,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:332,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 6
    argNames:
    - nhp
    - srv
    - proto
    - conf
    - hph
    - arg
    argTypes:
    - struct nat_hairpinning**
    - struct sa*
    - int
    - struct stun_conf*
    - nat_hairpinning_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 337
    functionName: nat_hairpinning_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - tcp_sock_listen
    - tcp_sock_bind
    - udp_listen
    - tcp_conn_alloc
    - tcp_conn_bind
    - mem_deref
    - stun_alloc
    - mem_zalloc
    - sa_cpy
    - tcp_sock_alloc
    - tcp_sock_local_get
    - sa_set_in
    linkageType: ''
    returnType: int
    signature: "int nat_hairpinning_alloc(struct nat_hairpinning **nhp,\n\t\t\t  const
      struct sa *srv, int proto,\n\t\t\t  const struct stun_conf *conf,\n\t\t\t  nat_hairpinning_h
      *hph, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mapped_send
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:355,1
    - Dst: tcp_conn_connect
      Src: /src/rtpproxy/external/libre/src/natbd/hairpinning.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - nh
    argTypes:
    - struct nat_hairpinning*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: nat_hairpinning_start
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    functionUses: 0
    functionsReached:
    - mapped_send
    - tcp_conn_connect
    linkageType: ''
    returnType: int
    signature: int nat_hairpinning_start(struct nat_hairpinning *nh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_recv
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:67,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - stun
    - src
    - mb
    argTypes:
    - struct stun*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: msg_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 2
    functionsReached:
    - stun_recv
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: "void msg_recv(struct stun *stun, const struct sa *src,\n\t\t     struct
      mbuf *mb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_recv
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: udp_recv_handler_x
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - msg_recv
    linkageType: ''
    returnType: void
    signature: "void udp_recv_handler_x(const struct sa *src, struct mbuf *mb,\n\t\t\t
      \      void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:94,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:101,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:109,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:112,1
    - Dst: struct nat_lifetime*::lh
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:121,1
    - Dst: binding_expired
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 123
    functionName: stun_response_handler_x
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - tmr_start
    - DEBUG_WARNING
    - struct nat_lifetime*::lh
    - stun_msg_attr
    - binding_expired
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler_x(int err, uint16_t scode,\n\t\t\t\t    const
      char *reason,\n\t\t\t\t    const struct stun_msg *msg, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:140,1
    - Dst: binding_expired
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 144
    functionName: udp_recv_handler_y
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - binding_expired
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: "void udp_recv_handler_y(const struct sa *src, struct mbuf *mb,\n\t\t\t
      \      void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: binding_expired
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:156,1
    - Dst: binding_ok
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:163,1
    - Dst: struct nat_lifetime*::lh
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 170
    functionName: stun_response_handler_y
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - struct nat_lifetime*::lh
    - binding_expired
    - binding_ok
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler_y(int err, uint16_t scode,\n\t\t\t\t    const
      char *reason,\n\t\t\t\t    const struct stun_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:182,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:184,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nl
    argTypes:
    - struct nat_lifetime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: start_test
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - stun_request
    linkageType: ''
    returnType: int
    signature: int start_test(struct nat_lifetime *nl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:195,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:200,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:201,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:212,1
    - Dst: struct nat_lifetime*::lh
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:214,1
    - Dst: start_test
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 4
    functionsReached:
    - sa_port
    - mem_deref
    - stun_request
    - DEBUG_WARNING
    - struct nat_lifetime*::lh
    - start_test
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:223,1
    - Dst: struct nat_lifetime*::lh
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:230,1
    - Dst: start_test
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - nl
    argTypes:
    - struct nat_lifetime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: binding_ok
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 1
    functionsReached:
    - struct nat_lifetime*::lh
    - start_test
    - max
    linkageType: ''
    returnType: void
    signature: void binding_ok(struct nat_lifetime *nl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_lifetime*::lh
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:243,1
    - Dst: start_test
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nl
    argTypes:
    - struct nat_lifetime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: binding_expired
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 3
    functionsReached:
    - struct nat_lifetime*::lh
    - start_test
    linkageType: ''
    returnType: void
    signature: void binding_expired(struct nat_lifetime *nl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:253,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:255,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:256,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:257,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:258,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: lifetime_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void lifetime_destructor(void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:285,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:289,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:291,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:295,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:299,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:303,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:311,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - nlp
    - srv
    - interval
    - conf
    - lh
    - arg
    argTypes:
    - struct nat_lifetime**
    - struct sa*
    - uint32_t
    - struct stun_conf*
    - nat_lifetime_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 316
    functionName: nat_lifetime_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - tmr_init
    - mem_deref
    - udp_listen
    - stun_alloc
    - mem_zalloc
    - sa_cpy
    linkageType: ''
    returnType: int
    signature: "int nat_lifetime_alloc(struct nat_lifetime **nlp, const struct sa
      *srv,\n\t\t       uint32_t interval, const struct stun_conf *conf,\n\t\t       nat_lifetime_h
      *lh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: start_test
      Src: /src/rtpproxy/external/libre/src/natbd/lifetime.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - nl
    argTypes:
    - struct nat_lifetime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: nat_lifetime_start
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    functionUses: 0
    functionsReached:
    - start_test
    linkageType: ''
    returnType: int
    signature: int nat_lifetime_start(struct nat_lifetime *nl)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:67,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:71,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:73,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:74,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:84,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:86,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:103,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:109,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:110,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:124,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:127,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:141,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:147,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:148,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:154,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:157,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:160,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:165,1
    - Dst: struct nat_filtering*::fh
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 169
    functionName: stun_response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/filtering.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - stun_request
    - struct nat_filtering*::fh
    - DEBUG_WARNING
    - stun_msg_attr
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: filtering_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/filtering.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void filtering_destructor(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:201,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:205,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:209,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - nfp
    - srv
    - conf
    - fh
    - arg
    argTypes:
    - struct nat_filtering**
    - struct sa*
    - struct stun_conf*
    - nat_filtering_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: nat_filtering_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/filtering.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - stun_alloc
    - mem_zalloc
    - sa_cpy
    linkageType: ''
    returnType: int
    signature: "int nat_filtering_alloc(struct nat_filtering **nfp, const struct sa
      *srv,\n\t\t\tconst struct stun_conf *conf,\n\t\t\tnat_filtering_h *fh, void
      *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/filtering.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nf
    argTypes:
    - struct nat_filtering*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: nat_filtering_start
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/filtering.c
    functionUses: 0
    functionsReached:
    - stun_request
    linkageType: ''
    returnType: int
    signature: int nat_filtering_start(struct nat_filtering *nf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:72,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:73,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:80,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:81,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:83,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:86,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:89,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:97,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:98,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:106,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:107,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:115,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:115,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:116,1
    - Dst: mapping_send
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:118,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:120,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:121,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:127,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:128,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:136,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:136,1
    - Dst: mapping_send
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:137,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:139,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:140,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:146,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:147,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:150,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:156,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 160
    functionName: stun_response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - sa_port
    - struct nat_mapping*::mh
    - DEBUG_WARNING
    - sa_cmp
    - mapping_send
    - sa_cpy
    - sa_set_port
    - stun_msg_attr
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:168,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:174,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:175,1
    - Dst: tcp_conn_connect
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - nm
    argTypes:
    - struct nat_mapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: mapping_send
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - stun_request
    - tcp_conn_connect
    - mem_ref
    linkageType: ''
    returnType: int
    signature: int mapping_send(struct nat_mapping *nm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_recv
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:191,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - stun_recv
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: "void udp_recv_handler(const struct sa *src, struct mbuf *mb,\n\t\t\t
      \    void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:203,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:204,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:207,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: mapping_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void mapping_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:218,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:224,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: tcp_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - stun_request
    - struct nat_mapping*::mh
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void tcp_estab_handler(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stun_recv
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:235,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 239
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 1
    functionsReached:
    - stun_recv
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:246,1
    - Dst: struct nat_mapping*::mh
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: tcp_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - DEBUG_NOTICE
    - struct nat_mapping*::mh
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler(int err, void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:278,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:282,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:287,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:292,1
    - Dst: udp_local_get
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:295,1
    - Dst: tcp_conn_alloc
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:304,1
    - Dst: tcp_conn_bind
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:311,1
    - Dst: tcp_conn_local_get
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:315,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:326,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:334,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 7
    argNames:
    - nmp
    - laddr
    - srv
    - proto
    - conf
    - mh
    - arg
    argTypes:
    - struct nat_mapping**
    - struct sa*
    - struct sa*
    - int
    - struct stun_conf*
    - nat_mapping_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 336
    functionName: nat_mapping_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - udp_listen
    - tcp_conn_alloc
    - tcp_conn_bind
    - udp_local_get
    - stun_alloc
    - tcp_conn_local_get
    - mem_zalloc
    - sa_cpy
    linkageType: ''
    returnType: int
    signature: "int nat_mapping_alloc(struct nat_mapping **nmp, const struct sa *laddr,\n\t\t
      \     const struct sa *srv, int proto,\n\t\t      const struct stun_conf *conf,\n\t\t
      \     nat_mapping_h *mh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mapping_send
      Src: /src/rtpproxy/external/libre/src/natbd/mapping.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nm
    argTypes:
    - struct nat_mapping*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: nat_mapping_start
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/mapping.c
    functionUses: 0
    functionsReached:
    - mapping_send
    linkageType: ''
    returnType: int
    signature: int nat_mapping_start(struct nat_mapping *nm)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum nat_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 32
    functionName: nat_type_str
    functionSourceFile: /src/rtpproxy/external/libre/src/natbd/natstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *nat_type_str(enum nat_type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HMAC
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:44,1
    - Dst: EVP_sha1
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:44,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:45,1
    - Dst: SHA1_Init
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:56,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:57,1
    - Dst: SHA1_Final
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:58,1
    - Dst: SHA1_Init
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:66,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:74,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:75,1
    - Dst: SHA1_Final
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:77,1
    - Dst: SHA1_Init
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:81,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:90,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:91,1
    - Dst: SHA1_Final
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:93,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 6
    argNames:
    - k
    - lk
    - d
    - ld
    - out
    - t
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 99
    functionName: hmac_sha1
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c
    functionUses: 2
    functionsReached:
    - SHA1_Init
    - SHA1_Update
    - memcpy
    - ERR_clear_error
    - EVP_sha1
    - HMAC
    - SHA1_Final
    linkageType: ''
    returnType: void
    signature: "void hmac_sha1(const uint8_t *k,  /* secret key */\n\t       size_t
      \  lk,       /* length of the key in bytes */\n\t       const uint8_t *d,  /*
      data */\n\t       size_t   ld,       /* length of data in bytes */\n\t       uint8_t
      *out,      /* output buffer, at least \"t\" bytes */\n\t       size_t   t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/hmac/hmac.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/hmac.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/hmac/hmac.c:41,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/hmac/hmac.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - hmacp
    - hash
    - key
    - key_len
    argTypes:
    - struct hmac**
    - enum hmac_hash
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: hmac_create
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/hmac.c
    functionUses: 1
    functionsReached:
    - mem_zalloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int hmac_create(struct hmac **hmacp, enum hmac_hash hash,\n\t\tconst
      uint8_t *key, size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha1
      Src: /src/rtpproxy/external/libre/src/hmac/hmac.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - hmac
    - md
    - md_len
    - data
    - data_len
    argTypes:
    - struct hmac*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: hmac_digest
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/hmac.c
    functionUses: 4
    functionsReached:
    - hmac_sha1
    linkageType: ''
    returnType: int
    signature: "int hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len,\n\t\tconst
      uint8_t *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c:56,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - hmacp
    - hash
    - key
    - key_len
    argTypes:
    - struct hmac**
    - enum hmac_hash
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 67
    functionName: hmac_create
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c
    functionUses: 1
    functionsReached:
    - mem_zalloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int hmac_create(struct hmac **hmacp, enum hmac_hash hash,\n\t\tconst
      uint8_t *key, size_t key_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCHmacInit
      Src: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c:77,1
    - Dst: CCHmacUpdate
      Src: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c:79,1
    - Dst: CCHmacFinal
      Src: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - hmac
    - md
    - md_len
    - data
    - data_len
    argTypes:
    - struct hmac*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: hmac_digest
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c
    functionUses: 4
    functionsReached:
    - CCHmacUpdate
    - CCHmacFinal
    - CCHmacInit
    linkageType: ''
    returnType: int
    signature: "int hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len,\n\t\tconst
      uint8_t *data, size_t data_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:27,1
    - Dst: HMAC_CTX_cleanup
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:30,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c
    functionUses: 0
    functionsReached:
    - HMAC_CTX_cleanup
    - mem_deref
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:49,1
    - Dst: EVP_sha256
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:53,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:60,1
    - Dst: HMAC_CTX_new
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:67,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:69,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:74,1
    - Dst: HMAC_CTX_init
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:80,1
    - Dst: HMAC_Init_ex
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:84,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:85,1
    - Dst: HMAC_Init_ex
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:89,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:94,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - hmacp
    - hash
    - key
    - key_len
    argTypes:
    - struct hmac**
    - enum hmac_hash
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 99
    functionName: hmac_create
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c
    functionUses: 1
    functionsReached:
    - HMAC_CTX_new
    - mem_deref
    - HMAC_CTX_init
    - ERR_clear_error
    - EVP_sha1
    - mem_zalloc
    - HMAC_Init_ex
    - EVP_sha256
    linkageType: ''
    returnType: int
    signature: "int hmac_create(struct hmac **hmacp, enum hmac_hash hash,\n\t\tconst
      uint8_t *key, size_t key_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Init_ex
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:112,1
    - Dst: HMAC_Update
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:115,1
    - Dst: HMAC_Final
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:117,1
    - Dst: ERR_clear_error
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:123,1
    - Dst: HMAC_Init_ex
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:128,1
    - Dst: HMAC_Update
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:130,1
    - Dst: HMAC_Final
      Src: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c:131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - hmac
    - md
    - md_len
    - data
    - data_len
    argTypes:
    - struct hmac*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: hmac_digest
    functionSourceFile: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c
    functionUses: 4
    functionsReached:
    - HMAC_Init_ex
    - HMAC_Final
    - ERR_clear_error
    - HMAC_Update
    linkageType: ''
    returnType: int
    signature: "int hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len,\n\t\tconst
      uint8_t *data, size_t data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: STAT_ADD
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAT_ADD(var, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: STAT_INC
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAT_INC(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: seq_less
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool seq_less(uint16_t x, uint16_t y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:81,1
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:91,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:92,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:95,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - jb
    - f
    argTypes:
    - struct jbuf*
    - struct frame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: frame_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - STAT_INC
    - list_unlink
    - mem_deref
    - DEBUG_INFO
    linkageType: ''
    returnType: void
    signature: void frame_alloc(struct jbuf *jb, struct frame **f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:108,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:109,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - jb
    - f
    argTypes:
    - struct jbuf*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: frame_deref
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    - list_append
    linkageType: ''
    returnType: void
    signature: void frame_deref(struct jbuf *jb, struct frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbuf_flush
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:119,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: jbuf_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - jbuf_flush
    - list_flush
    linkageType: ''
    returnType: void
    signature: void jbuf_destructor(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:144,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:147,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:147,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:147,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:148,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:152,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:156,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:157,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:164,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:170,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:171,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - jbp
    - min
    - max
    argTypes:
    - struct jbuf**
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: jbuf_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - list_init
    - seq_less
    - DEBUG_INFO
    - list_append
    - mem_deref
    - DEBUG_WARNING
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int jbuf_alloc(struct jbuf **jbp, uint32_t min, uint32_t max)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:204,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:209,1
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:210,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:211,1
    - Dst: frame_alloc
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:217,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:224,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:225,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:233,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:234,1
    - Dst: list_insert_after
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:237,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:242,1
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:243,1
    - Dst: list_insert_after
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:244,1
    - Dst: frame_deref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:245,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:254,1
    - Dst: list_prepend
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:256,1
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:259,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:268,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - jb
    - hdr
    - mem
    argTypes:
    - struct jbuf*
    - struct rtp_header*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 271
    functionName: jbuf_put
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - STAT_INC
    - mem_ref
    - seq_less
    - DEBUG_INFO
    - list_append
    - frame_deref
    - list_insert_after
    - list_prepend
    - frame_alloc
    linkageType: ''
    returnType: int
    signature: int jbuf_put(struct jbuf *jb, const struct rtp_header *hdr, void *mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:290,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:293,1
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:295,1
    - Dst: seq_less
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:309,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:310,1
    - Dst: STAT_ADD
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:313,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:314,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:324,1
    - Dst: frame_deref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - jb
    - hdr
    - mem
    argTypes:
    - struct jbuf*
    - struct rtp_header*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 329
    functionName: jbuf_get
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - STAT_INC
    - mem_ref
    - STAT_ADD
    - seq_less
    - DEBUG_INFO
    - DEBUG_WARNING
    - frame_deref
    linkageType: ''
    returnType: int
    signature: int jbuf_get(struct jbuf *jb, struct rtp_header *hdr, void **mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:348,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:353,1
    - Dst: frame_deref
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:356,1
    - Dst: STAT_INC
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:363,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - jb
    argTypes:
    - struct jbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 369
    functionName: jbuf_flush
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 1
    functionsReached:
    - STAT_INC
    - DEBUG_INFO
    - memset
    - frame_deref
    linkageType: ''
    returnType: void
    signature: void jbuf_flush(struct jbuf *jb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - jb
    - jstat
    argTypes:
    - struct jbuf*
    - struct jbuf_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: jbuf_stats
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jbuf_stats(const struct jbuf *jb, struct jbuf_stat *jstat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:410,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:412,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:413,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:415,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:418,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:419,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:420,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:421,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:422,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:423,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:424,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:425,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:426,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/jbuf/jbuf.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - pf
    - jb
    argTypes:
    - struct re_printf*
    - struct jbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 437
    functionName: jbuf_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int jbuf_debug(struct re_printf *pf, const struct jbuf *jb)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - proto
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: net_proto2name
    functionSourceFile: /src/rtpproxy/external/libre/src/net/netstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *net_proto2name(int proto)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - af
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: net_af2name
    functionSourceFile: /src/rtpproxy/external/libre/src/net/netstr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *net_af2name(int af)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/rtpproxy/external/libre/src/net/ifaddrs.c:39,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/ifaddrs.c:41,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/net/ifaddrs.c:48,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/net/ifaddrs.c:52,1
    - Dst: ifh
      Src: /src/rtpproxy/external/libre/src/net/ifaddrs.c:56,1
    - Dst: freeifaddrs
      Src: /src/rtpproxy/external/libre/src/net/ifaddrs.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ifh
    - arg
    argTypes:
    - net_ifaddr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: net_getifaddrs
    functionSourceFile: /src/rtpproxy/external/libre/src/net/ifaddrs.c
    functionUses: 0
    functionsReached:
    - freeifaddrs
    - ifh
    - DEBUG_INFO
    - DEBUG_WARNING
    - sa_set_sa
    - getifaddrs
    linkageType: ''
    returnType: int
    signature: int net_getifaddrs(net_ifaddr_h *ifh, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:30,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:32,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:33,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:34,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/rt.c:37,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/rtpproxy/external/libre/src/net/rt.c:41,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:42,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/rtpproxy/external/libre/src/net/rt.c:43,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:44,1
    - Dst: IN6_IS_ADDR_SITELOCAL
      Src: /src/rtpproxy/external/libre/src/net/rt.c:45,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:46,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ifname
    - dst
    - dstlen
    - gw
    - arg
    argTypes:
    - char*
    - struct sa*
    - int
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: rt_debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/rt.c
    functionUses: 0
    functionsReached:
    - sa_af
    - IN6_IS_ADDR_MULTICAST
    - IN6_IS_ADDR_SITELOCAL
    - IN6_IS_ADDR_LINKLOCAL
    - re_hprintf
    - re_snprintf
    linkageType: ''
    returnType: bool
    signature: "bool rt_debug_handler(const char *ifname, const struct sa *dst,\n\t\t\t
      \    int dstlen, const struct sa *gw, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:70,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/rt.c:72,1
    - Dst: net_rt_list
      Src: /src/rtpproxy/external/libre/src/net/rt.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: net_rt_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/net/rt.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - net_rt_list
    linkageType: ''
    returnType: int
    signature: int net_rt_debug(struct re_printf *pf, void *unused)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/rt.c:91,1
    - Dst: sa_in
      Src: /src/rtpproxy/external/libre/src/net/rt.c:97,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/net/rt.c:98,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/rtpproxy/external/libre/src/net/rt.c:105,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/rtpproxy/external/libre/src/net/rt.c:107,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/net/rt.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - _ifname
    - dst
    - dstlen
    - gw
    - arg
    argTypes:
    - char*
    - struct sa*
    - int
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 120
    functionName: rt_default_get_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/rt.c
    functionUses: 0
    functionsReached:
    - sa_af
    - IN6_IS_ADDR_MULTICAST
    - str_ncpy
    - sa_in
    - IN6_IS_ADDR_LINKLOCAL
    linkageType: ''
    returnType: bool
    signature: "bool rt_default_get_handler(const char *_ifname, const struct sa *dst,\n\t\t\t\t
      \  int dstlen, const struct sa *gw, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_rt_list
      Src: /src/rtpproxy/external/libre/src/net/rt.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - af
    - ifname
    - size
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: net_rt_default_get
    functionSourceFile: /src/rtpproxy/external/libre/src/net/rt.c
    functionUses: 0
    functionsReached:
    - net_rt_list
    linkageType: ''
    returnType: int
    signature: int net_rt_default_get(int af, char *ifname, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rth
    - arg
    argTypes:
    - net_rt_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: net_rt_list
    functionSourceFile: /src/rtpproxy/external/libre/src/net/rt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int net_rt_list(net_rt_h *rth, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:43,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:44,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:45,1
    - Dst: fcntl
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:53,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:56,1
    - Dst: fcntl
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:65,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - fd
    - blocking
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: net_sockopt_blocking_set
    functionSourceFile: /src/rtpproxy/external/libre/src/net/sockopt.c
    functionUses: 1
    functionsReached:
    - ioctlsocket
    - fcntl
    - DEBUG_WARNING
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: int net_sockopt_blocking_set(int fd, bool blocking)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:90,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:92,1
    - Dst: setsockopt
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:98,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/net/sockopt.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - fd
    - reuse
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: net_sockopt_reuse_set
    functionSourceFile: /src/rtpproxy/external/libre/src/net/sockopt.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - setsockopt
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int net_sockopt_reuse_set(int fd, bool reuse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/if.c:33,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/net/if.c:36,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/net/if.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ifname
    - sa
    - arg
    argTypes:
    - char*
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: if_getname_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    - str_ncpy
    - sa_af
    linkageType: ''
    returnType: bool
    signature: "bool if_getname_handler(const char *ifname, const struct sa *sa,\n\t\t\t
      \      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_if_list
      Src: /src/rtpproxy/external/libre/src/net/if.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ifname
    - sz
    - af
    - ip
    argTypes:
    - char*
    - size_t
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: net_if_getname
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - net_if_list
    linkageType: ''
    returnType: int
    signature: int net_if_getname(char *ifname, size_t sz, int af, const struct sa
      *ip)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: str_isset
      Src: /src/rtpproxy/external/libre/src/net/if.c:82,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/net/if.c:82,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/net/if.c:85,1
    - Dst: sa_is_loopback
      Src: /src/rtpproxy/external/libre/src/net/if.c:90,1
    - Dst: sa_is_linklocal
      Src: /src/rtpproxy/external/libre/src/net/if.c:90,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/if.c:95,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/net/if.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ifname
    - sa
    - arg
    argTypes:
    - char*
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 103
    functionName: if_getaddr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - sa_af
    - sa_isset
    - sa_is_linklocal
    - sa_cpy
    - sa_is_loopback
    - str_isset
    - str_casecmp
    linkageType: ''
    returnType: bool
    signature: "bool if_getaddr_handler(const char *ifname,\n\t\t\t       const struct
      sa *sa, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net_getifaddrs
      Src: /src/rtpproxy/external/libre/src/net/if.c:132,1
    - Dst: net_if_list
      Src: /src/rtpproxy/external/libre/src/net/if.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ifname
    - af
    - ip
    argTypes:
    - char*
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: net_if_getaddr
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - net_getifaddrs
    - net_if_list
    linkageType: ''
    returnType: int
    signature: int net_if_getaddr(const char *ifname, int af, struct sa *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/if.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ifname
    - sa
    - arg
    argTypes:
    - char*
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: if_debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: bool
    signature: "bool if_debug_handler(const char *ifname, const struct sa *sa,\n\t\t\t
      \    void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/net/if.c:166,1
    - Dst: net_getifaddrs
      Src: /src/rtpproxy/external/libre/src/net/if.c:169,1
    - Dst: net_if_list
      Src: /src/rtpproxy/external/libre/src/net/if.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: net_if_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - net_getifaddrs
    - net_if_list
    linkageType: ''
    returnType: int
    signature: int net_if_debug(struct re_printf *pf, void *unused)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/net/if.c:184,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/if.c:187,1
    - Dst: sa_is_linklocal
      Src: /src/rtpproxy/external/libre/src/net/if.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ifname
    - sa
    - arg
    argTypes:
    - char*
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 196
    functionName: linklocal_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - sa_is_linklocal
    - str_casecmp
    - sa_af
    linkageType: ''
    returnType: bool
    signature: "bool linklocal_handler(const char *ifname, const struct sa *sa,\n\t\t\t
      \     void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/net/if.c:217,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/if.c:217,1
    - Dst: net_if_apply
      Src: /src/rtpproxy/external/libre/src/net/if.c:223,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/net/if.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ifname
    - af
    - ip
    argTypes:
    - char*
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 233
    functionName: net_if_getlinklocal
    functionSourceFile: /src/rtpproxy/external/libre/src/net/if.c
    functionUses: 0
    functionsReached:
    - net_if_apply
    - sa_init
    - sa_af
    - sa_isset
    linkageType: ''
    returnType: int
    signature: int net_if_getlinklocal(const char *ifname, int af, struct sa *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/rtpproxy/external/libre/src/net/sock.c:23,1
    - Dst: WSAStartup
      Src: /src/rtpproxy/external/libre/src/net/sock.c:27,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sock.c:29,1
    - Dst: LOBYTE
      Src: /src/rtpproxy/external/libre/src/net/sock.c:38,1
    - Dst: HIBYTE
      Src: /src/rtpproxy/external/libre/src/net/sock.c:39,1
    - Dst: WSACleanup
      Src: /src/rtpproxy/external/libre/src/net/sock.c:40,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sock.c:41,1
    - Dst: HIBYTE
      Src: /src/rtpproxy/external/libre/src/net/sock.c:42,1
    - Dst: LOBYTE
      Src: /src/rtpproxy/external/libre/src/net/sock.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: wsa_init
    functionSourceFile: /src/rtpproxy/external/libre/src/net/sock.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    - LOBYTE
    - DEBUG_WARNING
    - MAKEWORD
    - HIBYTE
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int wsa_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/net/sock.c:61,1
    - Dst: wsa_init
      Src: /src/rtpproxy/external/libre/src/net/sock.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: net_sock_init
    functionSourceFile: /src/rtpproxy/external/libre/src/net/sock.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - wsa_init
    linkageType: ''
    returnType: int
    signature: int net_sock_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/rtpproxy/external/libre/src/net/sock.c:82,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/sock.c:84,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/net/sock.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: net_sock_close
    functionSourceFile: /src/rtpproxy/external/libre/src/net/sock.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    - DEBUG_INFO
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void net_sock_close(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/rtpproxy/external/libre/src/net/net.c:41,1
    - Dst: gethostbyname
      Src: /src/rtpproxy/external/libre/src/net/net.c:44,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/net/net.c:52,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/net/net.c:53,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/net/net.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - af
    - ip
    argTypes:
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: net_hostaddr
    functionSourceFile: /src/rtpproxy/external/libre/src/net/net.c
    functionUses: 0
    functionsReached:
    - gethostname
    - memcpy
    - ntohl
    - gethostbyname
    - sa_set_in
    linkageType: ''
    returnType: int
    signature: int net_hostaddr(int af, struct sa *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net_hostaddr
      Src: /src/rtpproxy/external/libre/src/net/net.c:70,1
    - Dst: net_rt_default_get
      Src: /src/rtpproxy/external/libre/src/net/net.c:76,1
    - Dst: net_if_getaddr
      Src: /src/rtpproxy/external/libre/src/net/net.c:80,1
    - Dst: net_if_getaddr
      Src: /src/rtpproxy/external/libre/src/net/net.c:84,1
    - Dst: net_if_getaddr4
      Src: /src/rtpproxy/external/libre/src/net/net.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - af
    - ip
    argTypes:
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: net_default_source_addr_get
    functionSourceFile: /src/rtpproxy/external/libre/src/net/net.c
    functionUses: 0
    functionsReached:
    - net_if_getaddr4
    - net_if_getaddr
    - net_hostaddr
    - net_rt_default_get
    linkageType: ''
    returnType: int
    signature: int net_default_source_addr_get(int af, struct sa *ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: net_getifaddrs
      Src: /src/rtpproxy/external/libre/src/net/net.c:104,1
    - Dst: net_if_list
      Src: /src/rtpproxy/external/libre/src/net/net.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ifh
    - arg
    argTypes:
    - net_ifaddr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: net_if_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/net/net.c
    functionUses: 1
    functionsReached:
    - net_getifaddrs
    - net_if_list
    linkageType: ''
    returnType: int
    signature: int net_if_apply(net_ifaddr_h *ifh, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_cmp
      Src: /src/rtpproxy/external/libre/src/net/net.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ifname
    - dst
    - dstlen
    - gw
    - arg
    argTypes:
    - char*
    - struct sa*
    - int
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: net_rt_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/net/net.c
    functionUses: 0
    functionsReached:
    - str_cmp
    linkageType: ''
    returnType: bool
    signature: "bool net_rt_handler(const char *ifname, const struct sa *dst,\n\t\t\t
      \  int dstlen, const struct sa *gw, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: net_rt_default_get
      Src: /src/rtpproxy/external/libre/src/net/net.c:145,1
    - Dst: net_rt_list
      Src: /src/rtpproxy/external/libre/src/net/net.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - af
    - gw
    argTypes:
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: net_default_gateway_get
    functionSourceFile: /src/rtpproxy/external/libre/src/net/net.c
    functionUses: 0
    functionsReached:
    - net_rt_list
    - net_rt_default_get
    linkageType: ''
    returnType: int
    signature: int net_default_gateway_get(int af, struct sa *gw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:39,1
    - Dst: TEXT
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:39,1
    - Dst: GetProcAddress
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:43,1
    - Dst: TEXT
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:43,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:51,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:63,1
    - Dst: ifh
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:65,1
    - Dst: FreeLibrary
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:73,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ifh
    - arg
    argTypes:
    - net_ifaddr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: if_list_gaa
    functionSourceFile: /src/rtpproxy/external/libre/src/net/win32/wif.c
    functionUses: 0
    functionsReached:
    - FreeLibrary
    - ifh
    - LoadLibrary
    - DEBUG_WARNING
    - sa_set_sa
    - TEXT
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: int if_list_gaa(net_ifaddr_h *ifh, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersInfo
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:91,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:93,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:100,1
    - Dst: ifh
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ifh
    - arg
    argTypes:
    - net_ifaddr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 108
    functionName: if_list_gai
    functionSourceFile: /src/rtpproxy/external/libre/src/net/win32/wif.c
    functionUses: 0
    functionsReached:
    - sa_set_str
    - DEBUG_WARNING
    - ifh
    - GetAdaptersInfo
    linkageType: ''
    returnType: int
    signature: int if_list_gai(net_ifaddr_h *ifh, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_list_gaa
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:123,1
    - Dst: if_list_gai
      Src: /src/rtpproxy/external/libre/src/net/win32/wif.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ifh
    - arg
    argTypes:
    - net_ifaddr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: net_if_list
    functionSourceFile: /src/rtpproxy/external/libre/src/net/win32/wif.c
    functionUses: 4
    functionsReached:
    - if_list_gai
    - if_list_gaa
    linkageType: ''
    returnType: int
    signature: int net_if_list(net_ifaddr_h *ifh, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: ROUNDUP
    functionSourceFile: /src/rtpproxy/external/libre/src/net/bsd/brt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDUP(a)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:44,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:49,1
    - Dst: sysctl
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:53,1
    - Dst: ROUNDUP
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:73,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:81,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:86,1
    - Dst: if_indextoname
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:91,1
    - Dst: rth
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:93,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/net/bsd/brt.c:98,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 2
    argNames:
    - rth
    - arg
    argTypes:
    - net_rt_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 101
    functionName: net_rt_list
    functionSourceFile: /src/rtpproxy/external/libre/src/net/bsd/brt.c
    functionUses: 3
    functionsReached:
    - mem_alloc
    - rth
    - mem_deref
    - sa_set_sa
    - ROUNDUP
    - sysctl
    - if_indextoname
    linkageType: ''
    returnType: int
    signature: int net_rt_list(net_rt_h *rth, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:51,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:56,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:58,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:59,1
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:68,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:74,1
    - Dst: ioctl
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:76,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:81,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:84,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ifname
    - af
    - ip
    argTypes:
    - char*
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 89
    functionName: net_if_getaddr4
    functionSourceFile: /src/rtpproxy/external/libre/src/net/posix/pif.c
    functionUses: 1
    functionsReached:
    - gai_strerror
    - close
    - str_ncpy
    - DEBUG_WARNING
    - sa_set_sa
    - getaddrinfo
    - socket
    - ioctl
    - memset
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int net_if_getaddr4(const char *ifname, int af, struct sa *ip)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:109,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:111,1
    - Dst: ioctl
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:118,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:120,1
    - Dst: ioctl
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:133,1
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:145,1
    - Dst: ioctl
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:147,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:152,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:154,1
    - Dst: ifh
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:158,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/net/posix/pif.c:164,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 2
    argNames:
    - ifh
    - arg
    argTypes:
    - net_ifaddr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 167
    functionName: net_if_list
    functionSourceFile: /src/rtpproxy/external/libre/src/net/posix/pif.c
    functionUses: 4
    functionsReached:
    - ifh
    - close
    - str_ncpy
    - sa_set_sa
    - DEBUG_WARNING
    - socket
    - ioctl
    linkageType: ''
    returnType: int
    signature: int net_if_list(net_ifaddr_h *ifh, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: RTM_RTA
    functionSourceFile: /src/rtpproxy/external/libre/src/net/linux/rt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTM_RTA(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rta
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: RTA_NEXT
    functionSourceFile: /src/rtpproxy/external/libre/src/net/linux/rt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTA_NEXT(rta, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nlh
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: NLMSG_NEXT
    functionSourceFile: /src/rtpproxy/external/libre/src/net/linux/rt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLMSG_NEXT(nlh,len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:60,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:61,1
    - Dst: NLMSG_OK
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:67,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - fd
    - buf
    - size
    - seq
    - pid
    argTypes:
    - int
    - uint8_t*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 92
    functionName: read_sock
    functionSourceFile: /src/rtpproxy/external/libre/src/net/linux/rt.c
    functionUses: 0
    functionsReached:
    - recv
    - NLMSG_OK
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int read_sock(int fd, uint8_t *buf, size_t size, int seq, int pid)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NLMSG_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:102,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:108,1
    - Dst: RTM_RTA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:112,1
    - Dst: RTM_PAYLOAD
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:113,1
    - Dst: RTA_OK
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:114,1
    - Dst: RTA_NEXT
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:114,1
    - Dst: if_indextoname
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:119,1
    - Dst: RTA_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:119,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:126,1
    - Dst: RTA_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:128,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:133,1
    - Dst: RTA_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:133,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:138,1
    - Dst: RTA_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:146,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:154,1
    - Dst: RTA_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:156,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:161,1
    - Dst: RTA_DATA
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:161,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - nlhdr
    - rt
    argTypes:
    - struct nlmsghdr*
    - struct net_rt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 175
    functionName: rt_parse
    functionSourceFile: /src/rtpproxy/external/libre/src/net/linux/rt.c
    functionUses: 0
    functionsReached:
    - if_indextoname
    - RTM_PAYLOAD
    - RTM_RTA
    - DEBUG_WARNING
    - sa_init
    - RTA_NEXT
    - RTA_DATA
    - NLMSG_DATA
    - sa_set_in6
    - RTA_OK
    linkageType: ''
    returnType: int
    signature: int rt_parse(const struct nlmsghdr *nlhdr, struct net_rt *rt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:199,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:200,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:205,1
    - Dst: NLMSG_LENGTH
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:211,1
    - Dst: getpid
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:215,1
    - Dst: send
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:218,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:220,1
    - Dst: read_sock
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:225,1
    - Dst: getpid
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:225,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:227,1
    - Dst: NLMSG_OK
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:232,1
    - Dst: NLMSG_NEXT
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:232,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:235,1
    - Dst: rt_parse
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:236,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:240,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:241,1
    - Dst: rth
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:245,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/net/linux/rt.c:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - rth
    - arg
    argTypes:
    - net_rt_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 253
    functionName: net_rt_list
    functionSourceFile: /src/rtpproxy/external/libre/src/net/linux/rt.c
    functionUses: 3
    functionsReached:
    - rt_parse
    - NLMSG_NEXT
    - sa_af
    - IN6_IS_ADDR_UNSPECIFIED
    - rth
    - close
    - read_sock
    - NLMSG_OK
    - getpid
    - DEBUG_WARNING
    - socket
    - send
    - memset
    - NLMSG_LENGTH
    linkageType: ''
    returnType: int
    signature: int net_rt_list(net_rt_h *rth, void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:15,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:17,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 2
    argNames:
    - chunk
    - mb
    argTypes:
    - struct http_chunk*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 56
    functionName: decode_chunk_size
    functionSourceFile: /src/rtpproxy/external/libre/src/http/chunk.c
    functionUses: 0
    functionsReached:
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int decode_chunk_size(struct http_chunk *chunk, struct mbuf *mb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:61,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - chunk
    - mb
    argTypes:
    - struct http_chunk*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: decode_trailer
    functionSourceFile: /src/rtpproxy/external/libre/src/http/chunk.c
    functionUses: 0
    functionsReached:
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int decode_trailer(struct http_chunk *chunk, struct mbuf *mb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decode_trailer
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:85,1
    - Dst: decode_chunk_size
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:94,1
    - Dst: decode_trailer
      Src: /src/rtpproxy/external/libre/src/http/chunk.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - chunk
    - mb
    - size
    argTypes:
    - struct http_chunk*
    - struct mbuf*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 111
    functionName: http_chunk_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/http/chunk.c
    functionUses: 0
    functionsReached:
    - decode_chunk_size
    - decode_trailer
    linkageType: ''
    returnType: int
    signature: int http_chunk_decode(struct http_chunk *chunk, struct mbuf *mb, size_t
      *size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/http/server.c:60,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:61,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:64,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: sock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - conn_close
    linkageType: ''
    returnType: void
    signature: void sock_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/http/server.c:73,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/http/server.c:74,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:75,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:76,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/http/server.c:83,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/http/server.c:84,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:85,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 8
    functionsReached:
    - tmr_cancel
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void conn_close(struct http_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/http/server.c:95,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - conn_close
    linkageType: ''
    returnType: void
    signature: void timeout_handler(void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/server.c:107,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/server.c:109,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/http/server.c:116,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/http/server.c:116,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/http/server.c:123,1
    - Dst: http_msg_decode
      Src: /src/rtpproxy/external/libre/src/http/server.c:130,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/server.c:141,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:143,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:147,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/http/server.c:148,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/http/server.c:156,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:158,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/http/server.c:163,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:167,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:171,1
    - Dst: struct http_conn*::sock::reqh
      Src: /src/rtpproxy/external/libre/src/http/server.c:175,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:177,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/http/server.c:184,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/http/server.c:189,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:190,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 192
    functionName: recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 2
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - conn_close
    - mbuf_alloc
    - mem_ref
    - struct http_conn*::sock::reqh
    - mem_deref
    - tmr_start
    - mbuf_get_left
    - http_msg_decode
    linkageType: ''
    returnType: void
    signature: void recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/http/server.c:200,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - conn_close
    linkageType: ''
    returnType: void
    signature: void close_handler(int err, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/server.c:211,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/http/server.c:217,1
    - Dst: tcp_accept
      Src: /src/rtpproxy/external/libre/src/http/server.c:221,1
    - Dst: tls_start_tcp
      Src: /src/rtpproxy/external/libre/src/http/server.c:228,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/http/server.c:234,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:238,1
    - Dst: tcp_reject
      Src: /src/rtpproxy/external/libre/src/http/server.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - peer
    - arg
    argTypes:
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 241
    functionName: connect_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 1
    functionsReached:
    - tcp_accept
    - tcp_reject
    - list_append
    - tls_start_tcp
    - tmr_start
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: void
    signature: void connect_handler(const struct sa *peer, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/server.c:263,1
    - Dst: tcp_listen
      Src: /src/rtpproxy/external/libre/src/http/server.c:267,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - sockp
    - laddr
    - reqh
    - arg
    argTypes:
    - struct http_sock**
    - struct sa*
    - http_req_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 281
    functionName: http_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - tcp_listen
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int http_listen(struct http_sock **sockp, const struct sa *laddr,\n\t\thttp_req_h
      *reqh, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: http_listen
      Src: /src/rtpproxy/external/libre/src/http/server.c:304,1
    - Dst: tls_alloc
      Src: /src/rtpproxy/external/libre/src/http/server.c:309,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - sockp
    - laddr
    - cert
    - reqh
    - arg
    argTypes:
    - struct http_sock**
    - struct sa*
    - char*
    - http_req_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 323
    functionName: https_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - http_listen
    - tls_alloc
    linkageType: ''
    returnType: int
    signature: "int https_listen(struct http_sock **sockp, const struct sa *laddr,\n\t\t
      const char *cert, http_req_h *reqh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct http_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: http_sock_tcp
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tcp_sock
    signature: struct tcp_sock *http_sock_tcp(struct http_sock *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: http_conn_peer
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *http_conn_peer(const struct http_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: http_conn_tcp
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tcp_conn
    signature: struct tcp_conn *http_conn_tcp(struct http_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: http_conn_tls
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tls_conn
    signature: struct tls_conn *http_conn_tls(struct http_conn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:388,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: http_conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void http_conn_close(struct http_conn *conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/http/server.c:405,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/http/server.c:409,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/http/server.c:411,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/http/server.c:413,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/http/server.c:419,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - conn
    - scode
    - reason
    - fmt
    - ap
    argTypes:
    - struct http_conn*
    - uint16_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 427
    functionName: http_vreply
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mbuf_vprintf
    - mbuf_write_str
    - mem_deref
    - mbuf_printf
    - tcp_send
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int http_vreply(struct http_conn *conn, uint16_t scode,\n\t\t       const
      char *reason, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/http/server.c:446,1
    - Dst: http_vreply
      Src: /src/rtpproxy/external/libre/src/http/server.c:447,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/http/server.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - conn
    - scode
    - reason
    - fmt
    argTypes:
    - struct http_conn*
    - uint16_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: http_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - http_vreply
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: "int http_reply(struct http_conn *conn, uint16_t scode, const char
      *reason,\n\t       const char *fmt, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/http/server.c:475,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/http/server.c:479,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/http/server.c:480,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/http/server.c:481,1
    - Dst: http_reply
      Src: /src/rtpproxy/external/libre/src/http/server.c:485,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/server.c:497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - conn
    - scode
    - reason
    - ctype
    - fmt
    argTypes:
    - struct http_conn*
    - uint16_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 500
    functionName: http_creply
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - mbuf_vprintf
    - va_start
    - mem_deref
    - http_reply
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int http_creply(struct http_conn *conn, uint16_t scode, const char
      *reason,\n\t\tconst char *ctype, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_creply
      Src: /src/rtpproxy/external/libre/src/http/server.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - scode
    - reason
    argTypes:
    - struct http_conn*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: http_ereply
    functionSourceFile: /src/rtpproxy/external/libre/src/http/server.c
    functionUses: 0
    functionsReached:
    - http_creply
    linkageType: ''
    returnType: int
    signature: int http_ereply(struct http_conn *conn, uint16_t scode, const char
      *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_close
      Src: /src/rtpproxy/external/libre/src/http/client.c:93,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/http/client.c:96,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:97,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:98,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: cli_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - req_close
    - mem_deref
    - hash_flush
    linkageType: ''
    returnType: void
    signature: void cli_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/http/client.c:107,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:108,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:109,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:110,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:111,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:112,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: req_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void req_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/http/client.c:121,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/http/client.c:122,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:123,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/http/client.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: conn_idle
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void conn_idle(struct conn *conn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/http/client.c:138,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:139,1
    - Dst: struct http_req*::connh
      Src: /src/rtpproxy/external/libre/src/http/client.c:144,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:147,1
    - Dst: conn_idle
      Src: /src/rtpproxy/external/libre/src/http/client.c:149,1
    - Dst: struct http_req*::resph
      Src: /src/rtpproxy/external/libre/src/http/client.c:165,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - req
    - err
    - msg
    argTypes:
    - struct http_req*
    - int
    - struct http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 170
    functionName: req_close
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 1
    functionsReached:
    - list_unlink
    - mem_deref
    - struct http_req*::connh
    - conn_idle
    - struct http_req*::resph
    linkageType: ''
    returnType: void
    signature: "void req_close(struct http_req *req, int err,\n\t\t      const struct
      http_msg *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:178,1
    - Dst: req_connect
      Src: /src/rtpproxy/external/libre/src/http/client.c:190,1
    - Dst: req_close
      Src: /src/rtpproxy/external/libre/src/http/client.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - err
    argTypes:
    - struct conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: try_next
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - req_connect
    - req_close
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void try_next(struct conn *conn, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/http/client.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - msg
    - buf
    - sz
    argTypes:
    - struct http_msg*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: write_body_buf
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int write_body_buf(struct http_msg *msg, const uint8_t *buf, size_t
      sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/http/client.c:210,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/client.c:210,1
    - Dst: struct http_req*::datah
      Src: /src/rtpproxy/external/libre/src/http/client.c:217,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/http/client.c:217,1
    - Dst: write_body_buf
      Src: /src/rtpproxy/external/libre/src/http/client.c:219,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/http/client.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - req
    - mb
    argTypes:
    - struct http_req*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: write_body
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - mbuf_get_left
    - mbuf_buf
    - min
    - write_body_buf
    - struct http_req*::datah
    linkageType: ''
    returnType: int
    signature: int write_body(struct http_req *req, struct mbuf *mb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: write_body
      Src: /src/rtpproxy/external/libre/src/http/client.c:239,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/client.c:249,1
    - Dst: http_chunk_decode
      Src: /src/rtpproxy/external/libre/src/http/client.c:253,1
    - Dst: write_body
      Src: /src/rtpproxy/external/libre/src/http/client.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - req
    - mb
    - last
    argTypes:
    - struct http_req*
    - struct mbuf*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 270
    functionName: req_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - http_chunk_decode
    - mbuf_get_left
    - write_body
    linkageType: ''
    returnType: int
    signature: int req_recv(struct http_req *req, struct mbuf *mb, bool *last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_next
      Src: /src/rtpproxy/external/libre/src/http/client.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - try_next
    linkageType: ''
    returnType: void
    signature: void timeout_handler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/http/client.c:290,1
    - Dst: try_next
      Src: /src/rtpproxy/external/libre/src/http/client.c:292,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/http/client.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - try_next
    - tcp_send
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void estab_handler(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: req_recv
      Src: /src/rtpproxy/external/libre/src/http/client.c:313,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/client.c:322,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/client.c:324,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/http/client.c:332,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/http/client.c:332,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/http/client.c:339,1
    - Dst: http_msg_decode
      Src: /src/rtpproxy/external/libre/src/http/client.c:344,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/http/client.c:354,1
    - Dst: http_msg_hdr
      Src: /src/rtpproxy/external/libre/src/http/client.c:356,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/client.c:357,1
    - Dst: http_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/http/client.c:360,1
    - Dst: req_recv
      Src: /src/rtpproxy/external/libre/src/http/client.c:366,1
    - Dst: req_close
      Src: /src/rtpproxy/external/libre/src/http/client.c:373,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 374
    functionName: recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 2
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - http_msg_hdr
    - mem_ref
    - pl_strcasecmp
    - req_recv
    - tmr_cancel
    - http_msg_hdr_has_value
    - req_close
    - mbuf_get_left
    - http_msg_decode
    linkageType: ''
    returnType: void
    signature: void recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_next
      Src: /src/rtpproxy/external/libre/src/http/client.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - try_next
    linkageType: ''
    returnType: void
    signature: void close_handler(int err, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/http/client.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: conn_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: bool conn_cmp(struct le *le, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/http/client.c:406,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/http/client.c:406,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/http/client.c:407,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/http/client.c:409,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/http/client.c:411,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:422,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/client.c:425,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/http/client.c:429,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/http/client.c:429,1
    - Dst: tcp_connect
      Src: /src/rtpproxy/external/libre/src/http/client.c:434,1
    - Dst: tls_start_tcp
      Src: /src/rtpproxy/external/libre/src/http/client.c:442,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/http/client.c:448,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 458
    functionName: conn_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 2
    functionsReached:
    - tcp_connect
    - hash_append
    - list_ledata
    - tls_start_tcp
    - mem_deref
    - tmr_start
    - tcp_send
    - mem_zalloc
    - hash_lookup
    - sa_hash
    linkageType: ''
    returnType: int
    signature: int conn_connect(struct http_req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:469,1
    - Dst: conn_connect
      Src: /src/rtpproxy/external/libre/src/http/client.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct http_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 477
    functionName: req_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 1
    functionsReached:
    - conn_connect
    - mem_deref
    linkageType: ''
    returnType: int
    signature: int req_connect(struct http_req *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/http/client.c:484,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/http/client.c:490,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/http/client.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - rr
    - arg
    argTypes:
    - struct dnsrr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 501
    functionName: rr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - sa_set_in6
    - ARRAY_SIZE
    - sa_set_in
    linkageType: ''
    returnType: bool
    signature: bool rr_handler(struct dnsrr *rr, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_apply2
      Src: /src/rtpproxy/external/libre/src/http/client.c:512,1
    - Dst: req_connect
      Src: /src/rtpproxy/external/libre/src/http/client.c:519,1
    - Dst: req_close
      Src: /src/rtpproxy/external/libre/src/http/client.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 527
    functionName: query_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 5
    functionsReached:
    - req_close
    - req_connect
    - dns_rrlist_apply2
    linkageType: ''
    returnType: void
    signature: "void query_handler(int err, const struct dnshdr *hdr, struct list
      *ansl,\n\t\t\t  struct list *authl, struct list *addl, void *arg)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/http/client.c:558,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/http/client.c:558,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/client.c:562,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/client.c:563,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/client.c:568,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/client.c:569,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/client.c:577,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/http/client.c:581,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/http/client.c:585,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/http/client.c:585,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/http/client.c:590,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/http/client.c:594,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/http/client.c:600,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/http/client.c:605,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/http/client.c:606,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/http/client.c:607,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/http/client.c:610,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/http/client.c:617,1
    - Dst: req_connect
      Src: /src/rtpproxy/external/libre/src/http/client.c:621,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/http/client.c:626,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:635,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 8
    argNames:
    - reqp
    - cli
    - met
    - uri
    - resph
    - datah
    - arg
    - fmt
    argTypes:
    - struct http_req**
    - struct http_cli*
    - char*
    - char*
    - http_resp_h*
    - http_data_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 544
    functionDepth: 6
    functionLinenumber: 544
    functionLinenumberEnd: 642
    functionName: http_request
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - req_connect
    - pl_strdup
    - pl_strcasecmp
    - mbuf_vprintf
    - list_append
    - va_start
    - mbuf_write_str
    - pl_isset
    - mem_deref
    - mbuf_printf
    - pl_u32
    - mem_zalloc
    - re_regex
    - sa_set_str
    - dnsc_query
    - strlen
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int http_request(struct http_req **reqp, struct http_cli *cli, const
      char *met,\n\t\t const char *uri, http_resp_h *resph, http_data_h *datah,\n\t\t
      void *arg, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - connh
    argTypes:
    - struct http_req*
    - http_conn_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: http_req_set_conn_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_req_set_conn_handler(struct http_req *req, http_conn_h *connh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/client.c:676,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/http/client.c:680,1
    - Dst: tls_alloc
      Src: /src/rtpproxy/external/libre/src/http/client.c:685,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/http/client.c:692,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/client.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - clip
    - dnsc
    argTypes:
    - struct http_cli**
    - struct dnsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 701
    functionName: http_client_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/http/client.c
    functionUses: 0
    functionsReached:
    - hash_alloc
    - mem_ref
    - mem_deref
    - tls_alloc
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int http_client_alloc(struct http_cli **clip, struct dnsc *dnsc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/http/msg.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: hdr_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void hdr_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/http/msg.c:34,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/msg.c:35,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/msg.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hash_joaat_ci
      Src: /src/rtpproxy/external/libre/src/http/msg.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: hdr_hash
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - hash_joaat_ci
    linkageType: ''
    returnType: enum http_hdrid
    signature: enum http_hdrid hdr_hash(const struct pl *name)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - id
    argTypes:
    - enum http_hdrid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: hdr_comma_separated
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hdr_comma_separated(enum http_hdrid id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/msg.c:101,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/http/msg.c:107,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/http/msg.c:110,1
    - Dst: msg_ctype_decode
      Src: /src/rtpproxy/external/libre/src/http/msg.c:116,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/http/msg.c:120,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/msg.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - msg
    - name
    - id
    - p
    - l
    argTypes:
    - struct http_msg*
    - struct pl*
    - enum http_hdrid
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 131
    functionName: hdr_add
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - MAX
    - list_append
    - mem_deref
    - pl_u32
    - mem_zalloc
    - msg_ctype_decode
    linkageType: ''
    returnType: int
    signature: "int hdr_add(struct http_msg *msg, const struct pl *name,\n\t\t\t  enum
      http_hdrid id, const char *p, ssize_t l)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/http/msg.c:157,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/http/msg.c:158,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/http/msg.c:160,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/http/msg.c:163,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/http/msg.c:167,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/http/msg.c:169,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/http/msg.c:176,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/http/msg.c:184,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/http/msg.c:191,1
    - Dst: hdr_add
      Src: /src/rtpproxy/external/libre/src/http/msg.c:240,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/http/msg.c:273,1
    - Dst: hdr_hash
      Src: /src/rtpproxy/external/libre/src/http/msg.c:279,1
    - Dst: hdr_comma_separated
      Src: /src/rtpproxy/external/libre/src/http/msg.c:280,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/http/msg.c:301,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 124
    argCount: 3
    argNames:
    - msgp
    - mb
    - req
    argTypes:
    - struct http_msg**
    - struct mbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 308
    functionName: http_msg_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 2
    functionsReached:
    - mbuf_buf
    - hdr_hash
    - MAX
    - mem_ref
    - mem_deref
    - hdr_add
    - pl_u32
    - mem_zalloc
    - hdr_comma_separated
    - re_regex
    - mbuf_get_left
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int http_msg_decode(struct http_msg **msgp, struct mbuf *mb, bool req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/http/msg.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - id
    argTypes:
    - struct http_msg*
    - enum http_hdrid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: http_msg_hdr
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 1
    functionsReached:
    - http_msg_hdr_apply
    linkageType: ''
    returnType: struct http_hdr
    signature: "struct http_hdr *http_msg_hdr(const struct http_msg *msg,\n\t\t\t\t
      \   enum http_hdrid id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: h
      Src: /src/rtpproxy/external/libre/src/http/msg.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - msg
    - fwd
    - id
    - h
    - arg
    argTypes:
    - struct http_msg*
    - bool
    - enum http_hdrid
    - http_hdr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: http_msg_hdr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 1
    functionsReached:
    - h
    linkageType: ''
    returnType: struct http_hdr
    signature: "struct http_hdr *http_msg_hdr_apply(const struct http_msg *msg,\n\t\t\t\t\t
      \ bool fwd, enum http_hdrid id,\n\t\t\t\t\t  http_hdr_h *h, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_xhdr_apply
      Src: /src/rtpproxy/external/libre/src/http/msg.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - struct http_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: http_msg_xhdr
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - http_msg_xhdr_apply
    linkageType: ''
    returnType: struct http_hdr
    signature: "struct http_hdr *http_msg_xhdr(const struct http_msg *msg,\n\t\t\t\t
      \    const char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/http/msg.c:400,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/http/msg.c:409,1
    - Dst: h
      Src: /src/rtpproxy/external/libre/src/http/msg.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - msg
    - fwd
    - name
    - h
    - arg
    argTypes:
    - struct http_msg*
    - bool
    - char*
    - http_hdr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 417
    functionName: http_msg_xhdr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 1
    functionsReached:
    - pl_casecmp
    - pl_set_str
    - h
    linkageType: ''
    returnType: struct http_hdr
    signature: "struct http_hdr *http_msg_xhdr_apply(const struct http_msg *msg,\n\t\t\t\t\t
      \  bool fwd, const char *name,\n\t\t\t\t\t   http_hdr_h *h, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - arg
    argTypes:
    - struct http_hdr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: count_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool count_handler(const struct http_hdr *hdr, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/http/msg.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - id
    argTypes:
    - struct http_msg*
    - enum http_hdrid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: http_msg_hdr_count
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - http_msg_hdr_apply
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t http_msg_hdr_count(const struct http_msg *msg, enum http_hdrid
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_xhdr_apply
      Src: /src/rtpproxy/external/libre/src/http/msg.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - struct http_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 4
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: http_msg_xhdr_count
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - http_msg_xhdr_apply
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t http_msg_xhdr_count(const struct http_msg *msg, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/msg.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - arg
    argTypes:
    - struct http_hdr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: value_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool value_handler(const struct http_hdr *hdr, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/http/msg.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - id
    - value
    argTypes:
    - struct http_msg*
    - enum http_hdrid
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 487
    functionName: http_msg_hdr_has_value
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 1
    functionsReached:
    - http_msg_hdr_apply
    linkageType: ''
    returnType: bool
    signature: "bool http_msg_hdr_has_value(const struct http_msg *msg, enum http_hdrid
      id,\n\t\t\t    const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_xhdr_apply
      Src: /src/rtpproxy/external/libre/src/http/msg.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - name
    - value
    argTypes:
    - struct http_msg*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: http_msg_xhdr_has_value
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - http_msg_xhdr_apply
    linkageType: ''
    returnType: bool
    signature: "bool http_msg_xhdr_has_value(const struct http_msg *msg, const char
      *name,\n\t\t\t     const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/http/msg.c:523,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/http/msg.c:524,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/http/msg.c:527,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/http/msg.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pf
    - msg
    argTypes:
    - struct re_printf*
    - struct http_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 515
    functionDepth: 4
    functionLinenumber: 515
    functionLinenumberEnd: 539
    functionName: http_msg_print
    functionSourceFile: /src/rtpproxy/external/libre/src/http/msg.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - pl_isset
    linkageType: ''
    returnType: int
    signature: int http_msg_print(struct re_printf *pf, const struct http_msg *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rand_u64
      Src: /src/rtpproxy/external/libre/src/http/auth.c:48,1
    - Dst: time
      Src: /src/rtpproxy/external/libre/src/http/auth.c:52,1
    - Dst: md5
      Src: /src/rtpproxy/external/libre/src/http/auth.c:55,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/http/auth.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pf
    - auth
    argTypes:
    - struct re_printf*
    - struct http_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: http_auth_print_challenge
    functionSourceFile: /src/rtpproxy/external/libre/src/http/auth.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - rand_u64
    - md5
    - time
    linkageType: ''
    returnType: int
    signature: "int http_auth_print_challenge(struct re_printf *pf,\n\t\t\t      const
      struct http_auth *auth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/http/auth.c:80,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/http/auth.c:81,1
    - Dst: pl_x64
      Src: /src/rtpproxy/external/libre/src/http/auth.c:85,1
    - Dst: md5
      Src: /src/rtpproxy/external/libre/src/http/auth.c:88,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/http/auth.c:90,1
    - Dst: time
      Src: /src/rtpproxy/external/libre/src/http/auth.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - nonce
    - expires
    argTypes:
    - struct pl*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: chk_nonce
    functionSourceFile: /src/rtpproxy/external/libre/src/http/auth.c
    functionUses: 0
    functionsReached:
    - time
    - pl_x64
    - md5
    - memcmp
    - ch_hex
    linkageType: ''
    returnType: int
    signature: int chk_nonce(const struct pl *nonce, uint32_t expires)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: httpauth_digest_response_decode
      Src: /src/rtpproxy/external/libre/src/http/auth.c:122,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/http/auth.c:125,1
    - Dst: chk_nonce
      Src: /src/rtpproxy/external/libre/src/http/auth.c:128,1
    - Dst: authh
      Src: /src/rtpproxy/external/libre/src/http/auth.c:133,1
    - Dst: httpauth_digest_response_auth
      Src: /src/rtpproxy/external/libre/src/http/auth.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - hval
    - method
    - auth
    - authh
    - arg
    argTypes:
    - struct pl*
    - struct pl*
    - struct http_auth*
    - http_auth_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 140
    functionName: http_auth_check
    functionSourceFile: /src/rtpproxy/external/libre/src/http/auth.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    - httpauth_digest_response_decode
    - authh
    - chk_nonce
    - httpauth_digest_response_auth
    linkageType: ''
    returnType: bool
    signature: "bool http_auth_check(const struct pl *hval, const struct pl *method,\n\t\t
      \    struct http_auth *auth, http_auth_h *authh, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_hdr
      Src: /src/rtpproxy/external/libre/src/http/auth.c:162,1
    - Dst: http_auth_check
      Src: /src/rtpproxy/external/libre/src/http/auth.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - msg
    - auth
    - authh
    - arg
    argTypes:
    - struct http_msg*
    - struct http_auth*
    - http_auth_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: http_auth_check_request
    functionSourceFile: /src/rtpproxy/external/libre/src/http/auth.c
    functionUses: 0
    functionsReached:
    - http_msg_hdr
    - http_auth_check
    linkageType: ''
    returnType: bool
    signature: "bool http_auth_check_request(const struct http_msg *msg,\n\t\t\t     struct
      http_auth *auth,\n\t\t\t     http_auth_h *authh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 37
    functionName: mem_seccmp
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/secure.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mem_seccmp(const volatile uint8_t *volatile s1,\n\t       const
      volatile uint8_t *volatile s2,\n\t       size_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: mem_lock
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void mem_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mem_unlock
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mem_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: STAT_ALLOC
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAT_ALLOC(m, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: STAT_REALLOC
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAT_REALLOC(m, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: STAT_DEREF
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAT_DEREF(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: MAGIC_CHECK
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAGIC_CHECK(m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:131,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:133,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:136,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:139,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:144,1
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:145,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:146,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:147,1
    - Dst: STAT_ALLOC
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - size
    - dh
    argTypes:
    - size_t
    - mem_destroy_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 156
    functionName: mem_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 14
    functionsReached:
    - STAT_ALLOC
    - list_append
    - malloc
    - mem_unlock
    - mem_lock
    - memset
    linkageType: ''
    returnType: void
    signature: void *mem_alloc(size_t size, mem_destroy_h *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:171,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - dh
    argTypes:
    - size_t
    - mem_destroy_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: mem_zalloc
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 62
    functionsReached:
    - mem_alloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *mem_zalloc(size_t size, mem_destroy_h *dh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MAGIC_CHECK
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:200,1
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:203,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:208,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:213,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:214,1
    - Dst: realloc
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:217,1
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:220,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:221,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:222,1
    - Dst: STAT_REALLOC
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 232
    functionName: mem_realloc
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 2
    functionsReached:
    - MAGIC_CHECK
    - list_unlink
    - list_append
    - mem_unlock
    - realloc
    - STAT_REALLOC
    - mem_lock
    linkageType: ''
    returnType: void
    signature: void *mem_realloc(void *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_realloc
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:262,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - nmemb
    - membsize
    - dh
    argTypes:
    - void*
    - size_t
    - size_t
    - mem_destroy_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: mem_reallocarray
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - mem_realloc
    linkageType: ''
    returnType: void
    signature: "void *mem_reallocarray(void *ptr, size_t nmemb, size_t membsize,\n\t\t
      \      mem_destroy_h *dh)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAGIC_CHECK
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: mem_ref
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 25
    functionsReached:
    - MAGIC_CHECK
    linkageType: ''
    returnType: void
    signature: void *mem_ref(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MAGIC_CHECK
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:312,1
    - Dst: struct mem*::dh
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:318,1
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:325,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:326,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:327,1
    - Dst: STAT_DEREF
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:330,1
    - Dst: free
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 335
    functionName: mem_deref
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 174
    functionsReached:
    - STAT_DEREF
    - free
    - struct mem*::dh
    - MAGIC_CHECK
    - list_unlink
    - mem_unlock
    - mem_lock
    linkageType: ''
    returnType: void
    signature: void *mem_deref(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAGIC_CHECK
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: mem_nrefs
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 2
    functionsReached:
    - MAGIC_CHECK
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mem_nrefs(const void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:369,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:371,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:373,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:377,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:379,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:382,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:386,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:388,1
    - Dst: isprint
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:389,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:392,1
    - Dst: MAGIC_CHECK
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:394,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 399
    functionName: debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - isprint
    - re_fprintf
    - MAGIC_CHECK
    linkageType: ''
    returnType: bool
    signature: bool debug_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:411,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:412,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:413,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:418,1
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:420,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:421,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: mem_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - list_apply
    - list_count
    - DEBUG_WARNING
    - mem_unlock
    - mem_lock
    linkageType: ''
    returnType: void
    signature: void mem_debug(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:436,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: mem_threshold_set
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - mem_lock
    - mem_unlock
    linkageType: ''
    returnType: void
    signature: void mem_threshold_set(ssize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:462,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:463,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:464,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:465,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:467,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:469,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:473,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:477,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 487
    functionName: mem_status
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - list_count
    - mem_unlock
    - re_hprintf
    - mem_lock
    linkageType: ''
    returnType: int
    signature: int mem_status(struct re_printf *pf, void *unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_lock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:502,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:503,1
    - Dst: mem_unlock
      Src: /src/rtpproxy/external/libre/src/mem/mem.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mstat
    argTypes:
    - struct memstat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 509
    functionName: mem_get_stat
    functionSourceFile: /src/rtpproxy/external/libre/src/mem/mem.c
    functionUses: 0
    functionsReached:
    - mem_lock
    - memcpy
    - mem_unlock
    linkageType: ''
    returnType: int
    signature: int mem_get_stat(struct memstat *mstat)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - in
    - ilen
    - out
    - olen
    argTypes:
    - uint8_t*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 65
    functionName: base64_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/base64/b64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int base64_encode(const uint8_t *in, size_t ilen, char *out, size_t
      *olen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:79,1
    - Dst: base64_encode
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:81,1
    - Dst: struct re_printf*::vph
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pf
    - ptr
    - len
    argTypes:
    - struct re_printf*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: base64_print
    functionSourceFile: /src/rtpproxy/external/libre/src/base64/b64.c
    functionUses: 0
    functionsReached:
    - struct re_printf*::vph
    - min
    - base64_encode
    linkageType: ''
    returnType: int
    signature: int base64_print(struct re_printf *pf, const uint8_t *ptr, size_t len)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: b64val
    functionSourceFile: /src/rtpproxy/external/libre/src/base64/b64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t b64val(char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: b64val
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:141,1
    - Dst: b64val
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:142,1
    - Dst: b64val
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:143,1
    - Dst: b64val
      Src: /src/rtpproxy/external/libre/src/base64/b64.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - in
    - ilen
    - out
    - olen
    argTypes:
    - char*
    - size_t
    - uint8_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: base64_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/base64/b64.c
    functionUses: 0
    functionsReached:
    - b64val
    linkageType: ''
    returnType: int
    signature: int base64_decode(const char *in, size_t ilen, uint8_t *out, size_t
      *olen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:37,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:41,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:52,1
    - Dst: rtmp_header_encode
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:54,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:55,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:67,1
    - Dst: rtmp_header_encode
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:69,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:70,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:79,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/chunk.c:84,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 10
    argNames:
    - format
    - chunk_id
    - timestamp
    - timestamp_delta
    - msg_type_id
    - msg_stream_id
    - payload
    - payload_len
    - max_chunk_sz
    - tc
    argTypes:
    - unsigned
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - size_t
    - size_t
    - struct tcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 87
    functionName: rtmp_chunker
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/chunk.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - min
    - rtmp_header_encode
    - mem_deref
    - tcp_send
    - memset
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int rtmp_chunker(unsigned format, uint32_t chunk_id,\n\t\t uint32_t
      timestamp, uint32_t timestamp_delta,\n\t\t uint8_t msg_type_id, uint32_t msg_stream_id,\n\t\t
      const uint8_t *payload, size_t payload_len,\n\t\t size_t max_chunk_sz, struct
      tcp_conn *tc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ctrans_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/ctrans.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void ctrans_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctransl
    - tid
    argTypes:
    - struct list*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: rtmp_ctrans_find
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/ctrans.c
    functionUses: 0
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct rtmp_ctrans
    signature: "struct rtmp_ctrans *rtmp_ctrans_find(const struct list *ctransl,\n\t\t\t\t\t
      \   uint64_t tid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:65,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:69,1
    - Dst: rtmp_conn_assign_tid
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:75,1
    - Dst: rtmp_command_header_encode
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:79,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:84,1
    - Dst: rtmp_amf_vencode_object
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:85,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:87,1
    - Dst: rtmp_send_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:92,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:98,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:101,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 6
    argNames:
    - conn
    - stream_id
    - command
    - resph
    - arg
    - body_propc
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    - char*
    - rtmp_resp_h*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 106
    functionName: rtmp_amf_request
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/ctrans.c
    functionUses: 0
    functionsReached:
    - list_append
    - va_start
    - mem_deref
    - mem_zalloc
    - rtmp_command_header_encode
    - rtmp_conn_assign_tid
    - rtmp_send_amf_command
    - va_end
    - rtmp_amf_vencode_object
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int rtmp_amf_request(struct rtmp_conn *conn, uint32_t stream_id,\n\t\t
      \    const char *command,\n\t\t     rtmp_resp_h *resph, void *arg, unsigned
      body_propc, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:121,1
    - Dst: odict_string
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:121,1
    - Dst: odict_get_number
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:123,1
    - Dst: rtmp_ctrans_find
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:126,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:133,1
    - Dst: resph
      Src: /src/rtpproxy/external/libre/src/rtmp/ctrans.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctransl
    - msg
    argTypes:
    - struct list*
    - struct odict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: rtmp_ctrans_response
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/ctrans.c
    functionUses: 0
    functionsReached:
    - resph
    - mem_deref
    - rtmp_ctrans_find
    - odict_string
    - str_casecmp
    - odict_get_number
    linkageType: ''
    returnType: int
    signature: "int rtmp_ctrans_response(const struct list *ctransl,\n\t\t\t const
      struct odict *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:37,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:38,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:40,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:41,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:42,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:43,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:44,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:45,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:46,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:47,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:48,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:49,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_decode
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:61,1
    - Dst: odict_string
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:65,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:68,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:69,1
    - Dst: rtmp_ctrans_response
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:72,1
    - Dst: struct rtmp_conn*::cmdh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:79,1
    - Dst: rtmp_stream_find
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:82,1
    - Dst: struct rtmp_stream*::cmdh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:85,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - conn
    - stream_id
    - mb
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: handle_amf_command
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_decode
    - rtmp_stream_find
    - struct rtmp_conn*::cmdh
    - mem_deref
    - odict_string
    - rtmp_ctrans_response
    - struct rtmp_stream*::cmdh
    - str_casecmp
    linkageType: ''
    returnType: int
    signature: "int handle_amf_command(struct rtmp_conn *conn, uint32_t stream_id,\n\t\t\t
      \     struct mbuf *mb)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:103,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:106,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:106,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:107,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:107,1
    - Dst: rtmp_stream_find
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:119,1
    - Dst: struct rtmp_stream*::ctrlh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:121,1
    - Dst: rtmp_control
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - conn
    - mb
    argTypes:
    - struct rtmp_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 138
    functionName: handle_user_control_msg
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_control
    - rtmp_stream_find
    - struct rtmp_stream*::ctrlh
    - ntohs
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u16
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int handle_user_control_msg(struct rtmp_conn *conn, struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_decode
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:148,1
    - Dst: rtmp_stream_find
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:152,1
    - Dst: struct rtmp_stream*::datah
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:154,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - stream_id
    - mb
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: handle_data_message
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_decode
    - mem_deref
    - struct rtmp_stream*::datah
    - rtmp_stream_find
    linkageType: ''
    returnType: int
    signature: "int handle_data_message(struct rtmp_conn *conn, uint32_t stream_id,\n\t\t\t
      \      struct mbuf *mb)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:175,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:178,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:178,1
    - Dst: rtmp_dechunker_set_chunksize
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:182,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:186,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:189,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:189,1
    - Dst: handle_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:194,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:198,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:201,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:201,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:207,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:210,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:210,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:211,1
    - Dst: rtmp_control
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:217,1
    - Dst: handle_user_control_msg
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:222,1
    - Dst: rtmp_stream_find
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:227,1
    - Dst: struct rtmp_stream*::auh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:230,1
    - Dst: rtmp_stream_find
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:238,1
    - Dst: struct rtmp_stream*::vidh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:241,1
    - Dst: handle_data_message
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:249,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - hdr
    - mb
    - arg
    argTypes:
    - struct rtmp_header*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 257
    functionName: rtmp_dechunk_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - handle_data_message
    - rtmp_dechunker_set_chunksize
    - rtmp_control
    - rtmp_stream_find
    - struct rtmp_stream*::vidh
    - struct rtmp_stream*::auh
    - handle_user_control_msg
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u8
    - mbuf_get_left
    - handle_amf_command
    linkageType: ''
    returnType: int
    signature: "int rtmp_dechunk_handler(const struct rtmp_header *hdr,\n\t\t\t\tstruct
      mbuf *mb, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:269,1
    - Dst: rtmp_dechunker_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:279,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - is_client
    - estabh
    - cmdh
    - closeh
    - arg
    argTypes:
    - bool
    - rtmp_estab_h*
    - rtmp_command_h*
    - rtmp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 297
    functionName: rtmp_conn_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_dechunker_alloc
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: struct rtmp_conn
    signature: "struct rtmp_conn *rtmp_conn_alloc(bool is_client,\n\t\t\t\t\t rtmp_estab_h
      *estabh,\n\t\t\t\t\t rtmp_command_h *cmdh,\n\t\t\t\t\t rtmp_close_h *closeh,\n\t\t\t\t\t
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - state
    argTypes:
    - struct rtmp_conn*
    - enum rtmp_handshake_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: set_state
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_state(struct rtmp_conn *conn,\n\t\t\t     enum rtmp_handshake_state
      state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:315,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:319,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:323,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - conn
    - pkt
    - len
    argTypes:
    - struct rtmp_conn*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 331
    functionName: send_packet
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mem_deref
    - tcp_send
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int send_packet(struct rtmp_conn *conn, const uint8_t *pkt, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_bytes
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:348,1
    - Dst: send_packet
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:350,1
    - Dst: set_state
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 357
    functionName: handshake_start
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - send_packet
    - rand_bytes
    - set_state
    linkageType: ''
    returnType: int
    signature: int handshake_start(struct rtmp_conn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:364,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:365,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:366,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:367,1
    - Dst: closeh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - err
    argTypes:
    - struct rtmp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 374
    functionName: conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 11
    functionsReached:
    - mem_deref
    - closeh
    linkageType: ''
    returnType: void
    signature: void conn_close(struct rtmp_conn *conn, int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handshake_start
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:384,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionName: tcp_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - conn_close
    - handshake_start
    linkageType: ''
    returnType: void
    signature: void tcp_estab_handler(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_chunker
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 7
    argNames:
    - conn
    - format
    - chunk_id
    - type_id
    - msg_stream_id
    - cmd
    - len
    argTypes:
    - struct rtmp_conn*
    - unsigned
    - uint32_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 405
    functionName: rtmp_send_amf_command
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 1
    functionsReached:
    - rtmp_chunker
    linkageType: ''
    returnType: int
    signature: "int rtmp_send_amf_command(const struct rtmp_conn *conn,\n\t\t\t  unsigned
      format, uint32_t chunk_id,\n\t\t\t  uint8_t type_id,\n\t\t\t  uint32_t msg_stream_id,\n\t\t\t
      \ const uint8_t *cmd, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:416,1
    - Dst: estabh
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - success
    - msg
    - arg
    argTypes:
    - bool
    - struct odict*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 427
    functionName: connect_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - estabh
    - conn_close
    linkageType: ''
    returnType: void
    signature: "void connect_resp_handler(bool success, const struct odict *msg,\n\t\t\t\t
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_request
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: send_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_request
    linkageType: ''
    returnType: int
    signature: int send_connect(struct rtmp_conn *conn)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:459,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:462,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:466,1
    - Dst: send_packet
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:468,1
    - Dst: set_state
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:472,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:476,1
    - Dst: mbuf_advance
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:480,1
    - Dst: rtmp_control
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:483,1
    - Dst: send_connect
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:488,1
    - Dst: set_state
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:492,1
    - Dst: rtmp_dechunker_receive
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - conn
    - mb
    argTypes:
    - struct rtmp_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 506
    functionName: client_handle_packet
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - mbuf_read_mem
    - rtmp_dechunker_receive
    - rtmp_control
    - mbuf_advance
    - send_packet
    - send_connect
    - mbuf_read_u8
    - mbuf_get_left
    - set_state
    linkageType: ''
    returnType: int
    signature: int client_handle_packet(struct rtmp_conn *conn, struct mbuf *mb)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:518,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:521,1
    - Dst: handshake_start
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:526,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:532,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:535,1
    - Dst: send_packet
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:538,1
    - Dst: set_state
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:542,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:546,1
    - Dst: mbuf_advance
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:550,1
    - Dst: rtmp_control
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:553,1
    - Dst: set_state
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:558,1
    - Dst: rtmp_dechunker_receive
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:562,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - conn
    - mb
    argTypes:
    - struct rtmp_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 572
    functionName: server_handle_packet
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - mbuf_read_mem
    - rtmp_dechunker_receive
    - rtmp_control
    - mbuf_advance
    - handshake_start
    - send_packet
    - mbuf_read_u8
    - mbuf_get_left
    - set_state
    linkageType: ''
    returnType: int
    signature: int server_handle_packet(struct rtmp_conn *conn, struct mbuf *mb)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:580,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:584,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:586,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:593,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:594,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:594,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:601,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:604,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:611,1
    - Dst: client_handle_packet
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:614,1
    - Dst: server_handle_packet
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:616,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:618,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:620,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:640,1
    - Dst: rtmp_control
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:652,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:660,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - mb_pkt
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 661
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - conn_close
    - server_handle_packet
    - mem_ref
    - rtmp_control
    - mem_deref
    - mem_nrefs
    - mbuf_get_left
    - client_handle_packet
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(struct mbuf *mb_pkt, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: req_connect
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:669,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 675
    functionName: tcp_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - conn_close
    - req_connect
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler(int err, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:694,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:695,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:696,1
    - Dst: rtmp_dechunker_set_chunksize
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:698,1
    - Dst: tcp_connect
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:701,1
    - Dst: tls_start_tcp
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:706,1
    - Dst: tls_set_verify_server
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 719
    functionName: req_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 4
    functionsReached:
    - tcp_connect
    - tls_set_verify_server
    - tls_start_tcp
    - mem_deref
    - rtmp_dechunker_set_chunksize
    linkageType: ''
    returnType: int
    signature: int req_connect(struct rtmp_conn *conn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:726,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:732,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - rr
    - arg
    argTypes:
    - struct dnsrr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 743
    functionName: rr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - sa_set_in6
    - ARRAY_SIZE
    - sa_set_in
    linkageType: ''
    returnType: bool
    signature: bool rr_handler(struct dnsrr *rr, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_apply2
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:754,1
    - Dst: req_connect
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:766,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 774
    functionName: query_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 5
    functionsReached:
    - conn_close
    - req_connect
    - dns_rrlist_apply2
    linkageType: ''
    returnType: void
    signature: "void query_handler(int err, const struct dnshdr *hdr, struct list
      *ansl,\n\t\t\t  struct list *authl, struct list *addl, void *arg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:816,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:816,1
    - Dst: pl_strrchr
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:820,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:830,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:835,1
    - Dst: uri_decode_hostport
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:846,1
    - Dst: rtmp_conn_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:849,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:853,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:853,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:856,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:857,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:858,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:859,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:863,1
    - Dst: req_connect
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:867,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:881,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:883,1
    - Dst: net_default_source_addr_get
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:889,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:891,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:902,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 8
    argNames:
    - connp
    - dnsc
    - uri
    - tls
    - estabh
    - cmdh
    - closeh
    - arg
    argTypes:
    - struct rtmp_conn**
    - struct dnsc*
    - char*
    - struct tls*
    - rtmp_estab_h*
    - rtmp_command_h*
    - rtmp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 796
    functionDepth: 6
    functionLinenumber: 796
    functionLinenumberEnd: 907
    functionName: rtmp_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_conn_alloc
    - str_dup
    - sa_set
    - req_connect
    - pl_strdup
    - pl_strcasecmp
    - mem_ref
    - net_default_source_addr_get
    - mem_deref
    - pl_isset
    - uri_decode_hostport
    - pl_strrchr
    - pl_u32
    - re_regex
    - dnsc_query
    - strlen
    linkageType: ''
    returnType: int
    signature: "int rtmp_connect(struct rtmp_conn **connp, struct dnsc *dnsc, const
      char *uri,\n\t\t struct tls *tls,\n\t\t rtmp_estab_h *estabh, rtmp_command_h
      *cmdh,\n\t\t rtmp_close_h *closeh, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_conn_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:932,1
    - Dst: tcp_accept
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:936,1
    - Dst: tls_start_tcp
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:943,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 6
    argNames:
    - connp
    - ts
    - tls
    - cmdh
    - closeh
    - arg
    argTypes:
    - struct rtmp_conn**
    - struct tcp_sock*
    - struct tls*
    - rtmp_command_h*
    - rtmp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 956
    functionName: rtmp_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_conn_alloc
    - tls_start_tcp
    - tcp_accept
    - mem_deref
    linkageType: ''
    returnType: int
    signature: "int rtmp_accept(struct rtmp_conn **connp, struct tcp_sock *ts,\n\t\tstruct
      tls *tls,\n\t\trtmp_command_h *cmdh, rtmp_close_h *closeh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_chunker
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 9
    argNames:
    - conn
    - format
    - chunk_id
    - timestamp
    - timestamp_delta
    - msg_type_id
    - msg_stream_id
    - payload
    - payload_len
    argTypes:
    - struct rtmp_conn*
    - unsigned
    - uint32_t
    - uint32_t
    - uint32_t
    - uint8_t
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 972
    functionName: rtmp_conn_send_msg
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - rtmp_chunker
    linkageType: ''
    returnType: int
    signature: "int rtmp_conn_send_msg(const struct rtmp_conn *conn,\n\t\t       unsigned
      format, uint32_t chunk_id,\n\t\t       uint32_t timestamp, uint32_t timestamp_delta,\n\t\t
      \      uint8_t msg_type_id, uint32_t msg_stream_id,\n\t\t       const uint8_t
      *payload, size_t payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: rtmp_conn_assign_chunkid
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned rtmp_conn_assign_chunkid(struct rtmp_conn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: rtmp_conn_assign_tid
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t rtmp_conn_assign_tid(struct rtmp_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1003
    functionName: rtmp_conn_tcpconn
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tcp_conn
    signature: struct tcp_conn *rtmp_conn_tcpconn(const struct rtmp_conn *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1016
    functionName: rtmp_conn_stream
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rtmp_conn_stream(const struct rtmp_conn *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - cmdh
    - closeh
    - arg
    argTypes:
    - struct rtmp_conn*
    - rtmp_command_h*
    - rtmp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1036
    functionName: rtmp_set_handlers
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rtmp_set_handlers(struct rtmp_conn *conn, rtmp_command_h *cmdh,\n\t\t
      \      rtmp_close_h *closeh, void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum rtmp_handshake_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1049
    functionName: rtmp_handshake_name
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rtmp_handshake_name(enum rtmp_handshake_state state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1059,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1061,1
    - Dst: rtmp_handshake_name
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1062,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1063,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1064,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1066,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1067,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1068,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1071,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1072,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1073,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/conn.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pf
    - conn
    argTypes:
    - struct re_printf*
    - struct rtmp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1079
    functionName: rtmp_conn_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/conn.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_count
    - rtmp_handshake_name
    linkageType: ''
    returnType: int
    signature: int rtmp_conn_debug(struct re_printf *pf, const struct rtmp_conn *conn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:35,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:37,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:40,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:40,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:45,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:48,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:56,1
    - Dst: mbuf_strdup
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:59,1
    - Dst: amf_decode_value
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:63,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - dict
    - mb
    argTypes:
    - struct odict*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: amf_decode_object
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c
    functionUses: 0
    functionsReached:
    - amf_decode_value
    - mbuf_strdup
    - mem_deref
    - ntohs
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int amf_decode_object(struct odict *dict, struct mbuf *mb)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:90,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:93,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:98,1
    - Dst: sys_ntohll
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:101,1
    - Dst: mbuf_read_u64
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:101,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:103,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:107,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:110,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:112,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:116,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:119,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:119,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:121,1
    - Dst: mbuf_strdup
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:124,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:128,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:130,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:134,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:138,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:141,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:141,1
    - Dst: odict_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:148,1
    - Dst: amf_decode_object
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:152,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:154,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:158,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:160,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:164,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:167,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:167,1
    - Dst: odict_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:171,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:179,1
    - Dst: amf_decode_value
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:181,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:183,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:188,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:190,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 3
    argNames:
    - dict
    - key
    - mb
    argTypes:
    - struct odict*
    - char*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 199
    functionName: amf_decode_value
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c
    functionUses: 2
    functionsReached:
    - sys_ntohll
    - mbuf_read_u64
    - odict_entry_add
    - mbuf_strdup
    - odict_alloc
    - re_snprintf
    - mem_deref
    - amf_decode_value
    - ntohs
    - amf_decode_object
    - mbuf_read_u32
    - ntohl
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int amf_decode_value(struct odict *dict, const char *key,\n\t\t\t
      \   struct mbuf *mb)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: odict_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:211,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:216,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:220,1
    - Dst: amf_decode_value
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:223,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - msgp
    - mb
    argTypes:
    - struct odict**
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: rtmp_amf_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c
    functionUses: 2
    functionsReached:
    - re_snprintf
    - odict_alloc
    - mem_deref
    - amf_decode_value
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_decode(struct odict **msgp, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:32,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:33,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mb
    - u24
    argTypes:
    - struct mbuf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: mbuf_write_u24_hton
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int mbuf_write_u24_hton(struct mbuf *mb, uint32_t u24)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:44,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:45,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: mbuf_read_u24_ntoh
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached:
    - mbuf_read_u8
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mbuf_read_u24_ntoh(struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:64,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:65,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:65,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:73,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:74,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - mb
    - fmt
    - chunk_id
    argTypes:
    - struct mbuf*
    - unsigned
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: encode_basic_hdr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached:
    - htons
    - mbuf_write_u16
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: "int encode_basic_hdr(struct mbuf *mb, unsigned fmt,\n\t\t\t    uint32_t
      chunk_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:91,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:94,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:103,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:106,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:110,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:113,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - hdr
    - mb
    argTypes:
    - struct rtmp_header*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: decode_basic_hdr
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached:
    - ntohs
    - mbuf_read_u8
    - mbuf_get_left
    - mbuf_read_u16
    linkageType: ''
    returnType: int
    signature: int decode_basic_hdr(struct rtmp_header *hdr, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: ts_24
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts_24(uint32_t ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: ts_ext
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ts_ext(uint32_t ts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: encode_basic_hdr
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:144,1
    - Dst: ts_ext
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:151,1
    - Dst: mbuf_write_u24_hton
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:153,1
    - Dst: ts_24
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:153,1
    - Dst: mbuf_write_u24_hton
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:154,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:155,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:156,1
    - Dst: sys_htoll
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:156,1
    - Dst: ts_ext
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:160,1
    - Dst: mbuf_write_u24_hton
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:162,1
    - Dst: ts_24
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:162,1
    - Dst: mbuf_write_u24_hton
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:163,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:164,1
    - Dst: ts_ext
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:168,1
    - Dst: mbuf_write_u24_hton
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:170,1
    - Dst: ts_24
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:170,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:178,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - mb
    - hdr
    argTypes:
    - struct mbuf*
    - struct rtmp_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 182
    functionName: rtmp_header_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 1
    functionsReached:
    - ts_24
    - mbuf_write_u32
    - encode_basic_hdr
    - mbuf_write_u24_hton
    - sys_htoll
    - mbuf_write_u8
    - ts_ext
    - htonl
    linkageType: ''
    returnType: int
    signature: int rtmp_header_encode(struct mbuf *mb, struct rtmp_header *hdr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:193,1
    - Dst: decode_basic_hdr
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:195,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:202,1
    - Dst: mbuf_read_u24_ntoh
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:205,1
    - Dst: mbuf_read_u24_ntoh
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:206,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:207,1
    - Dst: sys_ltohl
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:208,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:208,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:212,1
    - Dst: mbuf_read_u24_ntoh
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:215,1
    - Dst: mbuf_read_u24_ntoh
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:216,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:217,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:221,1
    - Dst: mbuf_read_u24_ntoh
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:224,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:238,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:241,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:241,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - hdr
    - mb
    argTypes:
    - struct rtmp_header*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 246
    functionName: rtmp_header_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached:
    - sys_ltohl
    - decode_basic_hdr
    - mbuf_read_u32
    - ntohl
    - memset
    - mbuf_read_u24_ntoh
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int rtmp_header_decode(struct rtmp_header *hdr, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:254,1
    - Dst: rtmp_packet_type_name
      Src: /src/rtpproxy/external/libre/src/rtmp/hdr.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - hdr
    argTypes:
    - struct re_printf*
    - struct rtmp_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: rtmp_header_print
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - rtmp_packet_type_name
    linkageType: ''
    returnType: int
    signature: int rtmp_header_print(struct re_printf *pf, const struct rtmp_header
      *hdr)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum rtmp_packet_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: rtmp_packet_type_name
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/hdr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rtmp_packet_type_name(enum rtmp_packet_type type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:38,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:42,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:49,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:50,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:50,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:54,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:55,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:55,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:56,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:56,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:56,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:60,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:60,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:60,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:61,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:61,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:69,1
    - Dst: rtmp_conn_send_msg
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:74,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/control.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - conn
    - type
    argTypes:
    - struct rtmp_conn*
    - enum rtmp_packet_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: rtmp_control
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/control.c
    functionUses: 5
    functionsReached:
    - va_arg
    - mbuf_write_u32
    - mbuf_write_u16
    - va_start
    - mem_deref
    - mbuf_write_u8
    - rtmp_conn_send_msg
    - htons
    - va_end
    - mbuf_alloc
    - htonl
    linkageType: ''
    returnType: int
    signature: int rtmp_control(const struct rtmp_conn *conn, enum rtmp_packet_type
      type, ...)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - event
    argTypes:
    - enum rtmp_event_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: rtmp_event_name
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rtmp_event_name(enum rtmp_event_type event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:25,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:30,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:30,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mb
    - key
    argTypes:
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: rtmp_amf_encode_key
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - htons
    - mbuf_write_u16
    - mbuf_write_str
    - str_len
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_key(struct mbuf *mb, const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: rtmp_amf_encode_object_start
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_object_start(struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:48,1
    - Dst: mbuf_write_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:49,1
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mb
    - type
    - length
    argTypes:
    - struct mbuf*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: rtmp_amf_encode_array_start
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - htonl
    - mbuf_write_u32
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: "int rtmp_amf_encode_array_start(struct mbuf *mb,\n\t\t\t\t       uint8_t
      type, uint32_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:59,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: rtmp_amf_encode_object_end
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u16
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_object_end(struct mbuf *mb)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum rtmp_amf_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: container_has_key
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool container_has_key(enum rtmp_amf_type type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:91,1
    - Dst: mbuf_write_u64
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:92,1
    - Dst: sys_htonll
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mb
    - val
    argTypes:
    - struct mbuf*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: rtmp_amf_encode_number
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - sys_htonll
    - mbuf_write_u64
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_number(struct mbuf *mb, double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:105,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mb
    - boolean
    argTypes:
    - struct mbuf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: rtmp_amf_encode_boolean
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_boolean(struct mbuf *mb, bool boolean)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:120,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:125,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:126,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:126,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - mb
    - str
    argTypes:
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: rtmp_amf_encode_string
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u16
    - mbuf_write_str
    - htons
    - mbuf_write_u8
    - str_len
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_string(struct mbuf *mb, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: rtmp_amf_encode_null
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u8
    linkageType: ''
    returnType: int
    signature: int rtmp_amf_encode_null(struct mbuf *mb)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: container_has_key
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:160,1
    - Dst: rtmp_amf_encode_object_start
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:165,1
    - Dst: rtmp_amf_encode_array_start
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:170,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:185,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:195,1
    - Dst: rtmp_amf_encode_key
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:199,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:207,1
    - Dst: rtmp_amf_encode_number
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:208,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:212,1
    - Dst: rtmp_amf_encode_boolean
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:213,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:217,1
    - Dst: rtmp_amf_encode_string
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:218,1
    - Dst: rtmp_amf_encode_null
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:222,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:229,1
    - Dst: rtmp_amf_vencode_object
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:230,1
    - Dst: rtmp_amf_encode_object_end
      Src: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c:242,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - mb
    - container
    - propc
    - ap
    argTypes:
    - struct mbuf*
    - enum rtmp_amf_type
    - unsigned
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 245
    functionName: rtmp_amf_vencode_object
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
    functionUses: 2
    functionsReached:
    - va_arg
    - rtmp_amf_encode_string
    - rtmp_amf_encode_key
    - rtmp_amf_encode_object_end
    - container_has_key
    - rtmp_amf_encode_array_start
    - rtmp_amf_encode_boolean
    - rtmp_amf_encode_null
    - rtmp_amf_vencode_object
    - rtmp_amf_encode_number
    - rtmp_amf_encode_object_start
    linkageType: ''
    returnType: int
    signature: "int rtmp_amf_vencode_object(struct mbuf *mb, enum rtmp_amf_type container,\n\t\t\t
      \   unsigned propc, va_list *ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:25,1
    - Dst: rtmp_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - rtmp_amf_command
    linkageType: ''
    returnType: void
    signature: void destructor(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:64,1
    - Dst: rtmp_conn_assign_chunkid
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:78,1
    - Dst: rtmp_conn_assign_chunkid
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:79,1
    - Dst: rtmp_conn_assign_chunkid
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:80,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 9
    argNames:
    - strmp
    - conn
    - stream_id
    - cmdh
    - ctrlh
    - auh
    - vidh
    - datah
    - arg
    argTypes:
    - struct rtmp_stream**
    - struct rtmp_conn*
    - uint32_t
    - rtmp_command_h*
    - rtmp_control_h*
    - rtmp_audio_h*
    - rtmp_video_h*
    - rtmp_command_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: rtmp_stream_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - list_append
    - mem_zalloc
    - rtmp_conn_assign_chunkid
    linkageType: ''
    returnType: int
    signature: "int rtmp_stream_alloc(struct rtmp_stream **strmp, struct rtmp_conn
      *conn,\n\t\t      uint32_t stream_id, rtmp_command_h *cmdh,\n\t\t      rtmp_control_h
      *ctrlh, rtmp_audio_h *auh,\n\t\t      rtmp_video_h *vidh, rtmp_command_h *datah,\n\t\t
      \     void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: odict_get_number
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:99,1
    - Dst: struct rtmp_stream*::resph
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - success
    - msg
    - arg
    argTypes:
    - bool
    - struct odict*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 115
    functionName: createstream_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - struct rtmp_stream*::resph
    - odict_get_number
    linkageType: ''
    returnType: void
    signature: "void createstream_handler(bool success, const struct odict *msg,\n\t\t\t\t
      void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_stream_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:145,1
    - Dst: rtmp_amf_request
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:152,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 9
    argNames:
    - strmp
    - conn
    - resph
    - cmdh
    - ctrlh
    - auh
    - vidh
    - datah
    - arg
    argTypes:
    - struct rtmp_stream**
    - struct rtmp_conn*
    - rtmp_resp_h*
    - rtmp_command_h*
    - rtmp_control_h*
    - rtmp_audio_h*
    - rtmp_video_h*
    - rtmp_command_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: rtmp_stream_create
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_request
    - mem_deref
    - rtmp_stream_alloc
    linkageType: ''
    returnType: int
    signature: "int rtmp_stream_create(struct rtmp_stream **strmp, struct rtmp_conn
      *conn,\n\t\t       rtmp_resp_h *resph, rtmp_command_h *cmdh,\n\t\t       rtmp_control_h
      *ctrlh, rtmp_audio_h *auh,\n\t\t       rtmp_video_h *vidh, rtmp_command_h *datah,\n\t\t
      \      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - strm
    - name
    argTypes:
    - struct rtmp_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: rtmp_play
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_command
    linkageType: ''
    returnType: int
    signature: int rtmp_play(struct rtmp_stream *strm, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - strm
    - name
    argTypes:
    - struct rtmp_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: rtmp_publish
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_command
    linkageType: ''
    returnType: int
    signature: int rtmp_publish(struct rtmp_stream *strm, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_data
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct rtmp_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: rtmp_meta
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - rtmp_amf_data
    linkageType: ''
    returnType: int
    signature: int rtmp_meta(struct rtmp_stream *strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_conn_send_msg
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - strm
    - timestamp
    - pld
    - len
    argTypes:
    - struct rtmp_stream*
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: rtmp_send_audio
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - rtmp_conn_send_msg
    linkageType: ''
    returnType: int
    signature: "int rtmp_send_audio(struct rtmp_stream *strm, uint32_t timestamp,\n\t\t
      \   const uint8_t *pld, size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_conn_send_msg
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - strm
    - timestamp
    - pld
    - len
    argTypes:
    - struct rtmp_stream*
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: rtmp_send_video
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 0
    functionsReached:
    - rtmp_conn_send_msg
    linkageType: ''
    returnType: int
    signature: "int rtmp_send_video(struct rtmp_stream *strm, uint32_t timestamp,\n\t\t
      \   const uint8_t *pld, size_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/rtmp/stream.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - stream_id
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: rtmp_stream_find
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/stream.c
    functionUses: 4
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct rtmp_stream
    signature: "struct rtmp_stream *rtmp_stream_find(const struct rtmp_conn *conn,\n\t\t\t\t
      \    uint32_t stream_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 0
    functionsReached:
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:50,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: chunk_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void chunk_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:60,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chunkl
    - hdr
    argTypes:
    - struct list*
    - struct rtmp_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: create_chunk
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 0
    functionsReached:
    - list_append
    - mem_zalloc
    linkageType: ''
    returnType: struct rtmp_chunk
    signature: "struct rtmp_chunk *create_chunk(struct list *chunkl,\n\t\t\t\t       const
      struct rtmp_header *hdr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - chunkl
    - chunk_id
    argTypes:
    - struct list*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: find_chunk
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 0
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct rtmp_chunk
    signature: "struct rtmp_chunk *find_chunk(const struct list *chunkl,\n\t\t\t\t
      \    uint32_t chunk_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - rdp
    - chunk_sz
    - chunkh
    - arg
    argTypes:
    - struct rtmp_dechunker**
    - size_t
    - rtmp_dechunk_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: rtmp_dechunker_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 1
    functionsReached:
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int rtmp_dechunker_alloc(struct rtmp_dechunker **rdp, size_t chunk_sz,\n\t\t\t
      \ rtmp_dechunk_h *chunkh, void *arg)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_header_decode
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:125,1
    - Dst: find_chunk
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:130,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:135,1
    - Dst: create_chunk
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:138,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:169,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:171,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:174,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:175,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:179,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:198,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:201,1
    - Dst: mbuf_read_u32
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:201,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:211,1
    - Dst: mbuf_get_space
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:223,1
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:225,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:227,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:230,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:230,1
    - Dst: struct rtmp_dechunker*::chunkh
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:251,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:253,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 2
    argNames:
    - rd
    - mb
    argTypes:
    - struct rtmp_dechunker*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 257
    functionName: rtmp_dechunker_receive
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 2
    functionsReached:
    - mbuf_read_mem
    - mbuf_buf
    - min
    - mbuf_alloc
    - mem_deref
    - list_count
    - create_chunk
    - ntohl
    - mbuf_read_u32
    - struct rtmp_dechunker*::chunkh
    - mbuf_get_space
    - rtmp_header_decode
    - mbuf_get_left
    - find_chunk
    linkageType: ''
    returnType: int
    signature: int rtmp_dechunker_receive(struct rtmp_dechunker *rd, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - rd
    - chunk_sz
    argTypes:
    - struct rtmp_dechunker*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: rtmp_dechunker_set_chunksize
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rtmp_dechunker_set_chunksize(struct rtmp_dechunker *rd, size_t
      chunk_sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:277,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:279,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:279,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:285,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/rtmp/dechunk.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pf
    - rd
    argTypes:
    - struct re_printf*
    - struct rtmp_dechunker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 292
    functionName: rtmp_dechunker_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_count
    linkageType: ''
    returnType: int
    signature: int rtmp_dechunker_debug(struct re_printf *pf, const struct rtmp_dechunker
      *rd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rtmp_amf_encode_string
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:28,1
    - Dst: rtmp_amf_encode_number
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mb
    - name
    - tid
    argTypes:
    - struct mbuf*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: rtmp_command_header_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf.c
    functionUses: 1
    functionsReached:
    - rtmp_amf_encode_string
    - rtmp_amf_encode_number
    linkageType: ''
    returnType: int
    signature: int rtmp_command_header_encode(struct mbuf *mb, const char *name, uint64_t
      tid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:45,1
    - Dst: rtmp_amf_encode_string
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:49,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:54,1
    - Dst: rtmp_amf_vencode_object
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:55,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:57,1
    - Dst: rtmp_send_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:62,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - conn
    - stream_id
    - command
    - body_propc
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: rtmp_amf_command
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf.c
    functionUses: 3
    functionsReached:
    - rtmp_amf_encode_string
    - va_start
    - mem_deref
    - rtmp_send_amf_command
    - va_end
    - rtmp_amf_vencode_object
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int rtmp_amf_command(const struct rtmp_conn *conn, uint32_t stream_id,\n\t\t
      \    const char *command, unsigned body_propc, ...)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: odict_get_number
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:88,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:93,1
    - Dst: rtmp_command_header_encode
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:97,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:103,1
    - Dst: rtmp_amf_vencode_object
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:104,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:106,1
    - Dst: rtmp_send_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:111,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:119,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - conn
    - stream_id
    - success
    - req
    - body_propc
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    - bool
    - struct odict*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 122
    functionName: rtmp_amf_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf.c
    functionUses: 0
    functionsReached:
    - va_start
    - mem_deref
    - rtmp_command_header_encode
    - rtmp_send_amf_command
    - va_end
    - rtmp_amf_vencode_object
    - mbuf_alloc
    - odict_get_number
    linkageType: ''
    returnType: int
    signature: "int rtmp_amf_reply(struct rtmp_conn *conn, uint32_t stream_id, bool
      success,\n\t\t   const struct odict *req,\n\t\t   unsigned body_propc, ...)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:135,1
    - Dst: rtmp_amf_encode_string
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:139,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:144,1
    - Dst: rtmp_amf_vencode_object
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:145,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:147,1
    - Dst: rtmp_send_amf_command
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:152,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/rtmp/amf.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - conn
    - stream_id
    - command
    - body_propc
    argTypes:
    - struct rtmp_conn*
    - uint32_t
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 163
    functionName: rtmp_amf_data
    functionSourceFile: /src/rtpproxy/external/libre/src/rtmp/amf.c
    functionUses: 1
    functionsReached:
    - rtmp_amf_encode_string
    - va_start
    - mem_deref
    - rtmp_send_amf_command
    - va_end
    - rtmp_amf_vencode_object
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int rtmp_amf_data(const struct rtmp_conn *conn, uint32_t stream_id,\n\t\t
      \ const char *command, unsigned body_propc, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: mbuf_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void mbuf_destructor(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:40,1
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:44,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: mbuf_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 28
    functionsReached:
    - mem_deref
    - mbuf_resize
    - mem_zalloc
    linkageType: ''
    returnType: struct mbuf
    signature: struct mbuf *mbuf_alloc(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:65,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mbr
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: mbuf_alloc_ref
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 1
    functionsReached:
    - mem_zalloc
    - mem_ref
    linkageType: ''
    returnType: struct mbuf
    signature: struct mbuf *mbuf_alloc_ref(struct mbuf *mbr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: mbuf_init
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbuf_init(struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:105,1
    - Dst: mbuf_init
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: mbuf_reset
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - mbuf_init
    linkageType: ''
    returnType: void
    signature: void mbuf_reset(struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_realloc
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:125,1
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mb
    - size
    argTypes:
    - struct mbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: mbuf_resize
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 3
    functionsReached:
    - mem_alloc
    - mem_realloc
    linkageType: ''
    returnType: int
    signature: int mbuf_resize(struct mbuf *mb, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:149,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: mbuf_trim
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_resize
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void mbuf_trim(struct mbuf *mb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:182,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:187,1
    - Dst: memmove
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:189,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - mb
    - shift
    argTypes:
    - struct mbuf*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 195
    functionName: mbuf_shift
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_get_left
    - mbuf_buf
    - mbuf_resize
    - memmove
    linkageType: ''
    returnType: int
    signature: int mbuf_shift(struct mbuf *mb, ssize_t shift)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:221,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:221,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:226,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - mb
    - buf
    - size
    argTypes:
    - struct mbuf*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 232
    functionName: mbuf_write_mem
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 19
    functionsReached:
    - mbuf_resize
    - memcpy
    - MAX
    linkageType: ''
    returnType: int
    signature: int mbuf_write_mem(struct mbuf *mb, const uint8_t *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - v
    argTypes:
    - struct mbuf*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 5
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: mbuf_write_u8
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 26
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int mbuf_write_u8(struct mbuf *mb, uint8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - v
    argTypes:
    - struct mbuf*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: mbuf_write_u16
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 20
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int mbuf_write_u16(struct mbuf *mb, uint16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - v
    argTypes:
    - struct mbuf*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: mbuf_write_u32
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 16
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int mbuf_write_u32(struct mbuf *mb, uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mb
    - v
    argTypes:
    - struct mbuf*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: mbuf_write_u64
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 2
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int mbuf_write_u64(struct mbuf *mb, uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:304,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mb
    - str
    argTypes:
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 5
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: mbuf_write_str
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 9
    functionsReached:
    - mbuf_write_mem
    - strlen
    linkageType: ''
    returnType: int
    signature: int mbuf_write_str(struct mbuf *mb, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mb
    - pl
    argTypes:
    - struct mbuf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: mbuf_write_pl
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int mbuf_write_pl(struct mbuf *mb, const struct pl *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:339,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:340,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:341,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - mb
    - buf
    - size
    argTypes:
    - struct mbuf*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 350
    functionName: mbuf_read_mem
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 13
    functionsReached:
    - mbuf_get_left
    - memcpy
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int mbuf_read_mem(struct mbuf *mb, uint8_t *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: mbuf_read_u8
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 21
    functionsReached:
    - mbuf_read_mem
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t mbuf_read_u8(struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: mbuf_read_u16
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 20
    functionsReached:
    - mbuf_read_mem
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mbuf_read_u16(struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: mbuf_read_u32
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 17
    functionsReached:
    - mbuf_read_mem
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mbuf_read_u32(struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: mbuf_read_u64
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 2
    functionsReached:
    - mbuf_read_mem
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t mbuf_read_u64(struct mbuf *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - mb
    - str
    - size
    argTypes:
    - struct mbuf*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 435
    functionName: mbuf_read_str
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_read_u8
    linkageType: ''
    returnType: int
    signature: int mbuf_read_str(struct mbuf *mb, char *str, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:455,1
    - Dst: mbuf_read_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:459,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - mb
    - strp
    - len
    argTypes:
    - struct mbuf*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 472
    functionName: mbuf_strdup
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 6
    functionsReached:
    - mem_alloc
    - mem_deref
    - mbuf_read_mem
    linkageType: ''
    returnType: int
    signature: int mbuf_strdup(struct mbuf *mb, char **strp, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - size
    - arg
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: vprintf_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: int vprintf_handler(const char *p, size_t size, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mb
    - fmt
    - ap
    argTypes:
    - struct mbuf*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: mbuf_vprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 4
    functionsReached:
    - re_vhprintf
    linkageType: ''
    returnType: int
    signature: int mbuf_vprintf(struct mbuf *mb, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:511,1
    - Dst: re_vhprintf
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:512,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mb
    - fmt
    argTypes:
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 516
    functionName: mbuf_printf
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 6
    functionsReached:
    - re_vhprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int mbuf_printf(struct mbuf *mb, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:545,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - mb
    - pl
    - skip
    argTypes:
    - struct mbuf*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 530
    functionDepth: 5
    functionLinenumber: 530
    functionLinenumberEnd: 553
    functionName: mbuf_write_pl_skip
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    linkageType: ''
    returnType: int
    signature: "int mbuf_write_pl_skip(struct mbuf *mb, const struct pl *pl,\n\t\t
      \      const struct pl *skip)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:579,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:579,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:584,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - mb
    - c
    - n
    argTypes:
    - struct mbuf*
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 590
    functionName: mbuf_fill
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - mbuf_resize
    - MAX
    - memset
    linkageType: ''
    returnType: int
    signature: int mbuf_fill(struct mbuf *mb, uint8_t c, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/mbuf/mbuf.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - mb
    argTypes:
    - struct re_printf*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 4
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: mbuf_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int mbuf_debug(struct re_printf *pf, const struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: rol
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(value, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: blk0
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: blk0
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: blk
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: R0
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: R1
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: R2
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: R3
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: R4
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R4(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:143,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:156,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:156,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:156,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:156,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:157,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:157,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:157,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:157,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:158,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:158,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:158,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:158,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:159,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:159,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:159,1
    - Dst: R0
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:159,1
    - Dst: R1
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:160,1
    - Dst: R1
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:160,1
    - Dst: R1
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:160,1
    - Dst: R1
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:160,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:161,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:161,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:161,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:161,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:162,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:162,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:162,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:162,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:163,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:163,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:163,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:163,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:164,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:164,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:164,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:164,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:165,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:165,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:165,1
    - Dst: R2
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:165,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:166,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:166,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:166,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:166,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:167,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:167,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:167,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:167,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:168,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:168,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:168,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:168,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:169,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:169,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:169,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:169,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:170,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:170,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:170,1
    - Dst: R3
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:170,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:171,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:171,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:171,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:171,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:172,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:172,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:172,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:172,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:173,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:173,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:173,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:173,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:174,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:174,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:174,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:174,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:175,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:175,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:175,1
    - Dst: R4
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 95
    argCount: 2
    argNames:
    - state
    - buffer
    argTypes:
    - uint32_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 186
    functionName: SHA1_Transform
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 0
    functionsReached:
    - R2
    - R1
    - memcpy
    - R4
    - R3
    - R0
    linkageType: ''
    returnType: void
    signature: void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: SHA1_Init
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA1_Init(SHA1_CTX* context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:223,1
    - Dst: SHA1_Transform
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:224,1
    - Dst: SHA1_Transform
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:226,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - context
    - p
    - len
    argTypes:
    - SHA1_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 232
    functionName: SHA1_Update
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 1
    functionsReached:
    - memcpy
    - SHA1_Transform
    linkageType: ''
    returnType: void
    signature: void SHA1_Update(SHA1_CTX* context, const void *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:250,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:252,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:254,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:262,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:263,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:264,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:265,1
    - Dst: SHA1_Transform
      Src: /src/rtpproxy/external/libre/src/sha/sha1.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - uint8_t[]
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 270
    functionName: SHA1_Final
    functionSourceFile: /src/rtpproxy/external/libre/src/sha/sha1.c
    functionUses: 1
    functionsReached:
    - memset
    - SHA1_Update
    - SHA1_Transform
    linkageType: ''
    returnType: void
    signature: void SHA1_Final(uint8_t digest[SHA1_DIGEST_SIZE], SHA1_CTX* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: dummy_udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dummy_udp_recv_handler(const struct sa *src,\n\t\t\t\t   struct
      mbuf *mb, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - err
    - dst
    - mb
    - arg
    argTypes:
    - int*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: helper_send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool helper_send_handler(int *err, struct sa *dst,\n\t\t\t\tstruct
      mbuf *mb, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: helper_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool helper_recv_handler(struct sa *src,\n\t\t\t\tstruct mbuf *mb,
      void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:116,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:119,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:120,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:124,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: udp_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - close
    - fd_close
    - list_flush
    linkageType: ''
    returnType: void
    signature: void udp_destructor(void *data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:132,1
    - Dst: recvfrom
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:142,1
    - Dst: udp_local_get
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:162,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:167,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:168,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:173,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:174,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:178,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:188,1
    - Dst: udp_thread_attach
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:190,1
    - Dst: struct udp_sock*::eh
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:196,1
    - Dst: mbuf_resize
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:204,1
    - Dst: struct udp_helper*::recvh
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:214,1
    - Dst: struct udp_sock*::rh
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:219,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:222,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - us
    - fd
    argTypes:
    - struct udp_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 223
    functionName: udp_read
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - struct udp_sock*::rh
    - close
    - fd_close
    - udp_listen
    - mem_deref
    - udp_local_get
    - udp_thread_attach
    - struct udp_sock*::eh
    - struct udp_helper*::recvh
    - mbuf_resize
    - recvfrom
    - mbuf_alloc
    linkageType: ''
    returnType: void
    signature: void udp_read(struct udp_sock *us, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_read
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: udp_read_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - udp_read
    linkageType: ''
    returnType: void
    signature: void udp_read_handler(int flags, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_read
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: udp_read_handler6
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - udp_read
    linkageType: ''
    returnType: void
    signature: void udp_read_handler6(int flags, void *arg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:268,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:272,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:278,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:279,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:281,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:281,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:291,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:298,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:301,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:302,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:304,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:305,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:316,1
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:319,1
    - Dst: net_sockopt_blocking_set
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:325,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:327,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:328,1
    - Dst: bind
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:332,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:334,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:335,1
    - Dst: getsockopt
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:346,1
    - Dst: sa_set_sa
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:352,1
    - Dst: sa_is_any
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:352,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:355,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:367,1
    - Dst: udp_thread_attach
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:376,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:386,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 4
    argNames:
    - usp
    - local
    - rh
    - arg
    argTypes:
    - struct udp_sock**
    - struct sa*
    - udp_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 391
    functionName: udp_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 9
    functionsReached:
    - sa_af
    - udp_thread_attach
    - sa_set_sa
    - mem_zalloc
    - net_sockopt_blocking_set
    - sa_port
    - bind
    - close
    - getsockopt
    - sa_is_any
    - mem_deref
    - DEBUG_WARNING
    - getaddrinfo
    - socket
    - memset
    - re_snprintf
    - freeaddrinfo
    - list_init
    - gai_strerror
    - DEBUG_INFO
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: "int udp_listen(struct udp_sock **usp, const struct sa *local,\n\t
      \      udp_recv_h *rh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:411,1
    - Dst: connect
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - us
    - peer
    argTypes:
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 422
    functionName: udp_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - sa_af
    - connect
    linkageType: ''
    returnType: int
    signature: int udp_connect(struct udp_sock *us, const struct sa *peer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:432,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:444,1
    - Dst: struct udp_helper*::sendh
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:448,1
    - Dst: send
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:454,1
    - Dst: sendto
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:459,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - us
    - dst
    - mb
    - le
    argTypes:
    - struct udp_sock*
    - struct sa*
    - struct mbuf*
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 465
    functionName: udp_send_internal
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - sa_af
    - struct udp_helper*::sendh
    - sa_cpy
    - send
    - sendto
    linkageType: ''
    returnType: int
    signature: "int udp_send_internal(struct udp_sock *us, const struct sa *dst,\n\t\t\t
      \    struct mbuf *mb, struct le *le)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udp_send_internal
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - us
    - dst
    - mb
    argTypes:
    - struct udp_sock*
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: udp_send
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 7
    functionsReached:
    - udp_send_internal
    linkageType: ''
    returnType: int
    signature: int udp_send(struct udp_sock *us, const struct sa *dst, struct mbuf
      *mb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:502,1
    - Dst: udp_send_internal
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:506,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - mb
    argTypes:
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 494
    functionDepth: 6
    functionLinenumber: 494
    functionLinenumberEnd: 510
    functionName: udp_send_anon
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - udp_send_internal
    - udp_listen
    linkageType: ''
    returnType: int
    signature: int udp_send_anon(const struct sa *dst, struct mbuf *mb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:530,1
    - Dst: getsockname
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - us
    - local
    argTypes:
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: udp_local_get
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 3
    functionsReached:
    - getsockname
    linkageType: ''
    returnType: int
    signature: int udp_local_get(const struct udp_sock *us, struct sa *local)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:560,1
    - Dst: setsockopt
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - us
    - level
    - optname
    - optval
    - optlen
    argTypes:
    - struct udp_sock*
    - int
    - int
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 572
    functionName: udp_setsockopt
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: "int udp_setsockopt(struct udp_sock *us, int level, int optname,\n\t\t
      \  const void *optval, uint32_t optlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udp_setsockopt
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:590,1
    - Dst: udp_setsockopt
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - us
    - size
    argTypes:
    - struct udp_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: udp_sockbuf_set
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - udp_setsockopt
    linkageType: ''
    returnType: int
    signature: int udp_sockbuf_set(struct udp_sock *us, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - us
    - rxsz
    argTypes:
    - struct udp_sock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: udp_rxsz_set
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void udp_rxsz_set(struct udp_sock *us, size_t rxsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - us
    - rx_presz
    argTypes:
    - struct udp_sock*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: udp_rxbuf_presz_set
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void udp_rxbuf_presz_set(struct udp_sock *us, size_t rx_presz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - us
    - rh
    - arg
    argTypes:
    - struct udp_sock*
    - udp_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 641
    functionName: udp_handler_set
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void udp_handler_set(struct udp_sock *us, udp_recv_h *rh, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - us
    - eh
    argTypes:
    - struct udp_sock*
    - udp_error_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 656
    functionName: udp_error_handler_set
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void udp_error_handler_set(struct udp_sock *us, udp_error_h *eh)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - us
    - af
    argTypes:
    - struct udp_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: udp_sock_fd
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int udp_sock_fd(const struct udp_sock *us, int af)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:696,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:702,1
    - Dst: udp_thread_detach
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - us
    argTypes:
    - struct udp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 712
    functionName: udp_thread_attach
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 2
    functionsReached:
    - udp_thread_detach
    - fd_listen
    linkageType: ''
    returnType: int
    signature: int udp_thread_attach(struct udp_sock *us)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:726,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - us
    argTypes:
    - struct udp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 730
    functionName: udp_thread_detach
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 1
    functionsReached:
    - fd_close
    linkageType: ''
    returnType: void
    signature: void udp_thread_detach(struct udp_sock *us)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: helper_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void helper_destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - le1
    - le2
    - arg
    argTypes:
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: sort_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sort_handler(struct le *le1, struct le *le2, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:772,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:776,1
    - Dst: list_sort
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - uhp
    - us
    - layer
    - sh
    - rh
    - arg
    argTypes:
    - struct udp_helper**
    - struct udp_sock*
    - int
    - udp_helper_send_h*
    - udp_helper_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 789
    functionName: udp_register_helper
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 3
    functionsReached:
    - list_append
    - mem_zalloc
    - list_sort
    linkageType: ''
    returnType: int
    signature: "int udp_register_helper(struct udp_helper **uhp, struct udp_sock *us,\n\t\t\tint
      layer,\n\t\t\tudp_helper_send_h *sh, udp_helper_recv_h *rh,\n\t\t\tvoid *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udp_send_internal
      Src: /src/rtpproxy/external/libre/src/udp/udp.c:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - us
    - dst
    - mb
    - uh
    argTypes:
    - struct udp_sock*
    - struct sa*
    - struct mbuf*
    - struct udp_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 810
    functionName: udp_send_helper
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 1
    functionsReached:
    - udp_send_internal
    linkageType: ''
    returnType: int
    signature: "int udp_send_helper(struct udp_sock *us, const struct sa *dst,\n\t\t
      \   struct mbuf *mb, struct udp_helper *uh)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - us
    - layer
    argTypes:
    - struct udp_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 837
    functionName: udp_helper_find
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct udp_helper
    signature: struct udp_helper *udp_helper_find(const struct udp_sock *us, int layer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/udp/mcast.c:27,1
    - Dst: udp_setsockopt
      Src: /src/rtpproxy/external/libre/src/udp/mcast.c:33,1
    - Dst: udp_setsockopt
      Src: /src/rtpproxy/external/libre/src/udp/mcast.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - us
    - group
    - join
    argTypes:
    - struct udp_sock*
    - struct sa*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 58
    functionName: multicast_update
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/mcast.c
    functionUses: 0
    functionsReached:
    - sa_af
    - udp_setsockopt
    linkageType: ''
    returnType: int
    signature: "int multicast_update(struct udp_sock *us, const struct sa *group,\n\t\t\t
      \   bool join)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multicast_update
      Src: /src/rtpproxy/external/libre/src/udp/mcast.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - us
    - group
    argTypes:
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: udp_multicast_join
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/mcast.c
    functionUses: 0
    functionsReached:
    - multicast_update
    linkageType: ''
    returnType: int
    signature: int udp_multicast_join(struct udp_sock *us, const struct sa *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multicast_update
      Src: /src/rtpproxy/external/libre/src/udp/mcast.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - us
    - group
    argTypes:
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: udp_multicast_leave
    functionSourceFile: /src/rtpproxy/external/libre/src/udp/mcast.c
    functionUses: 0
    functionsReached:
    - multicast_update
    linkageType: ''
    returnType: int
    signature: int udp_multicast_leave(struct udp_sock *us, const struct sa *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/msg/ctype.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ctype
    - pl
    argTypes:
    - struct msg_ctype*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: msg_ctype_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/msg/ctype.c
    functionUses: 1
    functionsReached:
    - re_regex
    linkageType: ''
    returnType: int
    signature: int msg_ctype_decode(struct msg_ctype *ctype, const struct pl *pl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/msg/ctype.c:55,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/msg/ctype.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ctype
    - type
    - subtype
    argTypes:
    - struct msg_ctype*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: msg_ctype_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/msg/ctype.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: bool
    signature: "bool msg_ctype_cmp(const struct msg_ctype *ctype,\n\t\t   const char
      *type, const char *subtype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/msg/param.c:28,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/msg/param.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pl
    - name
    - val
    argTypes:
    - struct pl*
    - char*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: msg_param_exists
    functionSourceFile: /src/rtpproxy/external/libre/src/msg/param.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: int
    signature: int msg_param_exists(const struct pl *pl, const char *name, struct
      pl *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/msg/param.c:60,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/msg/param.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pl
    - name
    - val
    argTypes:
    - struct pl*
    - char*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: msg_param_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/msg/param.c
    functionUses: 1
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: int
    signature: int msg_param_decode(const struct pl *pl, const char *name, struct
      pl *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: dbg_lock
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void dbg_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: dbg_unlock
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dbg_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - flags
    argTypes:
    - int
    - enum dbg_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: dbg_init
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - tmr_jiffies
    linkageType: ''
    returnType: void
    signature: void dbg_init(int level, enum dbg_flags flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: dbg_close
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void dbg_close(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dbg_close
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:104,1
    - Dst: fopen
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:109,1
    - Dst: time
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:113,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:114,1
    - Dst: ctime
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:114,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: dbg_logfile_set
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - fopen
    - re_fprintf
    - time
    - ctime
    - fflush
    - dbg_close
    linkageType: ''
    returnType: int
    signature: int dbg_logfile_set(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ph
    - arg
    argTypes:
    - dbg_print_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: dbg_handler_set
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dbg_handler_set(dbg_print_h *ph, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:144,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:151,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:155,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:159,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:168,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:171,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:173,1
    - Dst: re_vfprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:176,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:179,1
    - Dst: dbg_unlock
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - level
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 182
    functionName: dbg_vprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - tmr_jiffies
    - dbg_unlock
    - dbg_lock
    - re_fprintf
    - re_vfprintf
    linkageType: ''
    returnType: void
    signature: void dbg_vprintf(int level, const char *fmt, va_list ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dbg_lock
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:197,1
    - Dst: re_vsnprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:199,1
    - Dst: ph
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:205,1
    - Dst: fwrite
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:210,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:211,1
    - Dst: dbg_unlock
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - level
    - fmt
    - ap
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 216
    functionName: dbg_fmt_vprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - re_vsnprintf
    - dbg_lock
    - dbg_unlock
    - fwrite
    - ph
    - fflush
    linkageType: ''
    returnType: void
    signature: void dbg_fmt_vprintf(int level, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:229,1
    - Dst: dbg_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:230,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:231,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:233,1
    - Dst: dbg_fmt_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:234,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 6
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: dbg_printf
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - dbg_vprintf
    - dbg_fmt_vprintf
    linkageType: ''
    returnType: void
    signature: void dbg_printf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: dbg_noprintf
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dbg_noprintf(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:259,1
    - Dst: dbg_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:260,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:261,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:263,1
    - Dst: dbg_fmt_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:264,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 6
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: dbg_warning
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - dbg_vprintf
    - dbg_fmt_vprintf
    linkageType: ''
    returnType: void
    signature: void dbg_warning(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:278,1
    - Dst: dbg_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:279,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:280,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:282,1
    - Dst: dbg_fmt_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:283,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 6
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: dbg_notice
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - dbg_vprintf
    - dbg_fmt_vprintf
    linkageType: ''
    returnType: void
    signature: void dbg_notice(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:297,1
    - Dst: dbg_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:298,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:299,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:301,1
    - Dst: dbg_fmt_vprintf
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:302,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/dbg/dbg.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: dbg_info
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - dbg_vprintf
    - dbg_fmt_vprintf
    linkageType: ''
    returnType: void
    signature: void dbg_info(const char *fmt, ...)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: dbg_level_str
    functionSourceFile: /src/rtpproxy/external/libre/src/dbg/dbg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *dbg_level_str(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:29,1
    - Dst: md5_init
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:33,1
    - Dst: md5_append
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:34,1
    - Dst: md5_finish
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - d
    - n
    - md
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: md5
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/wrap.c
    functionUses: 2
    functionsReached:
    - MD5
    - md5_init
    - md5_append
    - md5_finish
    linkageType: ''
    returnType: void
    signature: void md5(const uint8_t *d, size_t n, uint8_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_init
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:54,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:56,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:57,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:58,1
    - Dst: md5
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:61,1
    - Dst: mbuf_reset
      Src: /src/rtpproxy/external/libre/src/md5/wrap.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - md
    - fmt
    argTypes:
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: md5_printf
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/wrap.c
    functionUses: 1
    functionsReached:
    - mbuf_reset
    - mbuf_init
    - mbuf_vprintf
    - va_start
    - md5
    - va_end
    linkageType: ''
    returnType: int
    signature: int md5_printf(uint8_t *md, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:170,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:210,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:211,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:212,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:213,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:214,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:215,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:216,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:217,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:218,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:219,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:220,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:221,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:222,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:223,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:224,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:225,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:236,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:237,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:238,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:239,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:240,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:241,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:242,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:243,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:244,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:245,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:246,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:247,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:248,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:249,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:250,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:251,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:262,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:263,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:264,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:265,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:266,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:267,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:268,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:269,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:270,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:271,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:272,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:273,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:274,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:275,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:276,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:277,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:288,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:289,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:290,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:291,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:292,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:293,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:294,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:295,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:296,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:297,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:298,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:299,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:300,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:301,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:302,1
    - Dst: SET
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 83
    argCount: 2
    argNames:
    - pms
    - data
    argTypes:
    - md5_state_t*
    - md5_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 313
    functionName: md5_process
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SET
    linkageType: ''
    returnType: void
    signature: void md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: ROTATE_LEFT
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_LEFT(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: F
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 232
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: SET
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: G
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 178
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: SET
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: H
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: SET
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: I
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: SET
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pms
    argTypes:
    - md5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: md5_init
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void md5_init(md5_state_t *pms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:346,1
    - Dst: md5_process
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:351,1
    - Dst: md5_process
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:356,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pms
    - data
    - nbytes
    argTypes:
    - md5_state_t*
    - md5_byte_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 361
    functionName: md5_append
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 1
    functionsReached:
    - memcpy
    - md5_process
    linkageType: ''
    returnType: void
    signature: void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md5_append
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:379,1
    - Dst: md5_append
      Src: /src/rtpproxy/external/libre/src/md5/md5.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pms
    - digest
    argTypes:
    - md5_state_t*
    - md5_byte_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: md5_finish
    functionSourceFile: /src/rtpproxy/external/libre/src/md5/md5.c
    functionUses: 1
    functionsReached:
    - md5_append
    linkageType: ''
    returnType: void
    signature: void md5_finish(md5_state_t *pms, md5_byte_t digest[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sa
    - af
    argTypes:
    - struct sa*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: sa_init
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 9
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void sa_init(struct sa *sa, int af)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:51,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sa
    - addr
    - port
    argTypes:
    - struct sa*
    - struct pl*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: sa_set
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 6
    functionsReached:
    - sa_set_str
    - pl_strcpy
    linkageType: ''
    returnType: int
    signature: int sa_set(struct sa *sa, const struct pl *addr, uint16_t port)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: net_inet_pton
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:72,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:79,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - sa
    - addr
    - port
    argTypes:
    - struct sa*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: sa_set_str
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 7
    functionsReached:
    - net_inet_pton
    - htons
    linkageType: ''
    returnType: int
    signature: int sa_set_str(struct sa *sa, const char *addr, uint16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:113,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sa
    - addr
    - port
    argTypes:
    - struct sa*
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: sa_set_in
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 10
    functionsReached:
    - htons
    - htonl
    linkageType: ''
    returnType: void
    signature: void sa_set_in(struct sa *sa, uint32_t addr, uint16_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:135,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sa
    - addr
    - port
    argTypes:
    - struct sa*
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: sa_set_in6
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 7
    functionsReached:
    - memcpy
    - htons
    linkageType: ''
    returnType: void
    signature: void sa_set_in6(struct sa *sa, const uint8_t *addr, uint16_t port)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:161,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - sa
    - s
    argTypes:
    - struct sa*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 179
    functionName: sa_set_sa
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 7
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int sa_set_sa(struct sa *sa, const struct sockaddr *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:196,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:201,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - sa
    - port
    argTypes:
    - struct sa*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: sa_set_port
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 10
    functionsReached:
    - DEBUG_WARNING
    - htons
    linkageType: ''
    returnType: void
    signature: void sa_set_port(struct sa *sa, uint16_t port)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pl_strchr
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:242,1
    - Dst: pl_strchr
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:247,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:264,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - sa
    - str
    - len
    argTypes:
    - struct sa*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 265
    functionName: sa_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 0
    functionsReached:
    - sa_set
    - pl_strchr
    - pl_u32
    linkageType: ''
    returnType: int
    signature: int sa_decode(struct sa *sa, const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: sa_af
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sa_af(const struct sa *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: sa_in
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 2
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sa_in(const struct sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sa
    - addr
    argTypes:
    - struct sa*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 308
    functionName: sa_in6
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sa_in6(const struct sa *sa, uint8_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: net_inet_ntop
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sa
    - buf
    - size
    argTypes:
    - struct sa*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: sa_ntop
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 1
    functionsReached:
    - net_inet_ntop
    linkageType: ''
    returnType: int
    signature: int sa_ntop(const struct sa *sa, char *buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:341,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: sa_port
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 14
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sa_port(const struct sa *sa)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:381,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - sa
    - flag
    argTypes:
    - struct sa*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 394
    functionName: sa_isset
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 5
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    linkageType: ''
    returnType: bool
    signature: bool sa_isset(const struct sa *sa, int flag)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:416,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:418,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:428,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - sa
    - flag
    argTypes:
    - struct sa*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 438
    functionName: sa_hash
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 10
    functionsReached:
    - ntohs
    - ntohl
    - DEBUG_WARNING
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sa_hash(const struct sa *sa, int flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct sa*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: sa_cpy
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 9
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void sa_cpy(struct sa *dst, const struct sa *src)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:490,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - l
    - r
    - flag
    argTypes:
    - struct sa*
    - struct sa*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 504
    functionName: sa_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 11
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool sa_cmp(const struct sa *l, const struct sa *r, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: IN_IS_ADDR_LINKLOCAL
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_IS_ADDR_LINKLOCAL(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:524,1
    - Dst: IN_IS_ADDR_LINKLOCAL
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:527,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 537
    functionName: sa_is_linklocal
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 2
    functionsReached:
    - IN6_IS_ADDR_LINKLOCAL
    - sa_af
    - IN_IS_ADDR_LINKLOCAL
    linkageType: ''
    returnType: bool
    signature: bool sa_is_linklocal(const struct sa *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:552,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:555,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: sa_is_loopback
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 1
    functionsReached:
    - ntohl
    - sa_af
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: bool
    signature: bool sa_is_loopback(const struct sa *sa)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:580,1
    - Dst: ntohl
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:583,1
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/rtpproxy/external/libre/src/sa/sa.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 593
    functionName: sa_is_any
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/sa.c
    functionUses: 1
    functionsReached:
    - ntohl
    - sa_af
    - IN6_IS_ADDR_UNSPECIFIED
    linkageType: ''
    returnType: bool
    signature: bool sa_is_any(const struct sa *sa)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sa/printaddr.c:32,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sa/printaddr.c:35,1
    - Dst: sa_is_linklocal
      Src: /src/rtpproxy/external/libre/src/sa/printaddr.c:35,1
    - Dst: if_indextoname
      Src: /src/rtpproxy/external/libre/src/sa/printaddr.c:39,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sa/printaddr.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pf
    - sa
    argTypes:
    - struct re_printf*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: sa_print_addr
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/printaddr.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - sa_is_linklocal
    - if_indextoname
    - sa_af
    linkageType: ''
    returnType: int
    signature: int sa_print_addr(struct re_printf *pf, const struct sa *sa)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:65,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 91
    functionName: inet_pton4
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/pton.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strchr
    linkageType: ''
    returnType: int
    signature: int inet_pton4(const char *src, u_char *dst)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:118,1
    - Dst: strchr
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:131,1
    - Dst: strchr
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:132,1
    - Dst: inet_pton4
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:158,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:187,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 190
    functionName: inet_pton6
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/pton.c
    functionUses: 0
    functionsReached:
    - inet_pton4
    - memset
    - memcpy
    - strchr
    linkageType: ''
    returnType: int
    signature: int inet_pton6(const char *src, u_char *dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton4
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:205,1
    - Dst: inet_pton6
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:209,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 217
    functionName: inet_pton
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/pton.c
    functionUses: 2
    functionsReached:
    - inet_pton6
    - DEBUG_INFO
    - inet_pton4
    linkageType: ''
    returnType: int
    signature: int inet_pton(int af, const char *src, void *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:234,1
    - Dst: inet_pton
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:238,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:240,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/libre/src/sa/pton.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - addr
    - sa
    argTypes:
    - char*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 255
    functionName: net_inet_pton
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/pton.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - memcpy
    - inet_pton
    linkageType: ''
    returnType: int
    signature: int net_inet_pton(const char *addr, struct sa *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - u_char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: inet_ntop4
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/ntop.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      inet_ntop4(const u_char *src, char *dst, size_t size)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:87,1
    - Dst: inet_ntop4
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:134,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:136,1
    - Dst: sprintf
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:139,1
    - Dst: strcpy
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:154,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 53
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - u_char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 67
    functionDepth: 6
    functionLinenumber: 67
    functionLinenumberEnd: 157
    functionName: inet_ntop6
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/ntop.c
    functionUses: 0
    functionsReached:
    - inet_ntop4
    - strcpy
    - memset
    - strlen
    - sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      inet_ntop6(const u_char *src, char *dst, size_t size)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop4
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:170,1
    - Dst: inet_ntop6
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:174,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - size
    argTypes:
    - int
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 7
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: inet_ntop
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/ntop.c
    functionUses: 2
    functionsReached:
    - inet_ntop4
    - inet_ntop6
    - DEBUG_WARNING
    linkageType: ''
    returnType: char
    signature: char * inet_ntop(int af, const void *src, char *dst, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:208,1
    - Dst: inet_ntop
      Src: /src/rtpproxy/external/libre/src/sa/ntop.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - sa
    - buf
    - size
    argTypes:
    - struct sa*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 8
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: net_inet_ntop
    functionSourceFile: /src/rtpproxy/external/libre/src/sa/ntop.c
    functionUses: 1
    functionsReached:
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: int net_inet_ntop(const struct sa *sa, char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:27,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: lock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_destroy
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void lock_destructor(void *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:42,1
    - Dst: pthread_rwlock_init
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:46,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - lp
    argTypes:
    - struct lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: lock_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - pthread_rwlock_init
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int lock_alloc(struct lock **lp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:66,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: lock_read_get
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 2
    functionsReached:
    - pthread_rwlock_rdlock
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void lock_read_get(struct lock *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:80,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: lock_write_get
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 2
    functionsReached:
    - pthread_rwlock_wrlock
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void lock_write_get(struct lock *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: lock_read_try
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_tryrdlock
    linkageType: ''
    returnType: int
    signature: int lock_read_try(struct lock *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: lock_write_try
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_trywrlock
    linkageType: ''
    returnType: int
    signature: int lock_write_try(struct lock *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:110,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/rwlock.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: lock_rel
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/rwlock.c
    functionUses: 4
    functionsReached:
    - pthread_rwlock_unlock
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void lock_rel(struct lock *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:34,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: lock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    - pthread_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void lock_destructor(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:56,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:60,1
    - Dst: pthread_mutexattr_init
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:62,1
    - Dst: pthread_mutexattr_settype
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:65,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:66,1
    - Dst: pthread_mutexattr_settype
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:68,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - lp
    argTypes:
    - struct lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: lock_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 1
    functionsReached:
    - pthread_mutexattr_init
    - pthread_mutexattr_settype
    - pthread_mutex_init
    - DEBUG_NOTICE
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int lock_alloc(struct lock **lp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:84,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: lock_read_get
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 2
    functionsReached:
    - DEBUG_WARNING
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void lock_read_get(struct lock *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:98,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: lock_write_get
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 2
    functionsReached:
    - DEBUG_WARNING
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void lock_write_get(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: lock_read_try
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    linkageType: ''
    returnType: int
    signature: int lock_read_try(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: lock_write_try
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    linkageType: ''
    returnType: int
    signature: int lock_write_try(struct lock *l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:138,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/lock/lock.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: lock_rel
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/lock.c
    functionUses: 4
    functionsReached:
    - pthread_mutex_unlock
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void lock_rel(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: lock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock_destructor(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:34,1
    - Dst: InitializeCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - lp
    argTypes:
    - struct lock**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: lock_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 1
    functionsReached:
    - mem_alloc
    - InitializeCriticalSection
    linkageType: ''
    returnType: int
    signature: int lock_alloc(struct lock **lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: lock_read_get
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 2
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock_read_get(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: lock_write_get
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 2
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock_write_get(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryEnterCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: lock_read_try
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 0
    functionsReached:
    - TryEnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int lock_read_try(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TryEnterCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: lock_write_try
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 0
    functionsReached:
    - TryEnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int lock_write_try(struct lock *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/rtpproxy/external/libre/src/lock/win32/lock.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: lock_rel
    functionSourceFile: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    functionUses: 4
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock_rel(struct lock *l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tcp_sock_alloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:31,1
    - Dst: tcp_sock_bind
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:35,1
    - Dst: tcp_sock_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:39,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:45,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - tsp
    - local
    - ch
    - arg
    argTypes:
    - struct tcp_sock**
    - struct sa*
    - tcp_conn_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: tcp_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp_high.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - tcp_sock_bind
    - tcp_sock_listen
    - tcp_sock_alloc
    linkageType: ''
    returnType: int
    signature: "int tcp_listen(struct tcp_sock **tsp, const struct sa *local,\n\t
      \      tcp_conn_h *ch, void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tcp_conn_alloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:74,1
    - Dst: tcp_conn_connect
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:78,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - tcp
    - peer
    - eh
    - rh
    - ch
    - arg
    argTypes:
    - struct tcp_conn**
    - struct sa*
    - tcp_estab_h*
    - tcp_recv_h*
    - tcp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: tcp_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp_high.c
    functionUses: 4
    functionsReached:
    - mem_deref
    - tcp_conn_alloc
    - tcp_conn_connect
    linkageType: ''
    returnType: int
    signature: "int tcp_connect(struct tcp_conn **tcp, const struct sa *peer,\n\t\ttcp_estab_h
      *eh, tcp_recv_h *rh, tcp_close_h *ch, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_sock_local_get
      Src: /src/rtpproxy/external/libre/src/tcp/tcp_high.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ts
    - local
    argTypes:
    - struct tcp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: tcp_local_get
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp_high.c
    functionUses: 0
    functionsReached:
    - tcp_sock_local_get
    linkageType: ''
    returnType: int
    signature: int tcp_local_get(const struct tcp_sock *ts, struct sa *local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - err
    - active
    - arg
    argTypes:
    - int*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: helper_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool helper_estab_handler(int *err, bool active, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - err
    - mb
    - arg
    argTypes:
    - int*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: helper_send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool helper_send_handler(int *err, struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - err
    - mb
    - estab
    - arg
    argTypes:
    - int*
    - struct mbuf*
    - bool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: helper_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool helper_recv_handler(int *err, struct mbuf *mb, bool *estab,\n\t\t\t\tvoid
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:139,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:140,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: sock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - close
    - fd_close
    linkageType: ''
    returnType: void
    signature: void sock_destructor(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:151,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:152,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:155,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - close
    - fd_close
    - list_flush
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: helper_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void helper_destructor(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:173,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: qent_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void qent_destructor(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:180,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:189,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:195,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:199,1
    - Dst: mbuf_init
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:201,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:203,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:203,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - tc
    - mb
    argTypes:
    - struct tcp_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 212
    functionName: enqueue
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 2
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - mbuf_init
    - list_append
    - mem_deref
    - mem_zalloc
    - mbuf_get_left
    - fd_listen
    linkageType: ''
    returnType: int
    signature: int enqueue(struct tcp_conn *tc, struct mbuf *mb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:217,1
    - Dst: struct tcp_conn*::sendh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:226,1
    - Dst: send
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:231,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:231,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:237,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 250
    functionName: dequeue
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - list_ledata
    - mem_deref
    - struct tcp_conn*::sendh
    - send
    - WSAGetLastError
    linkageType: ''
    returnType: int
    signature: int dequeue(struct tcp_conn *tc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:255,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:260,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:261,1
    - Dst: struct tcp_conn*::closeh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tc
    - err
    argTypes:
    - struct tcp_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 16
    functionsReached:
    - close
    - fd_close
    - struct tcp_conn*::closeh
    - list_flush
    linkageType: ''
    returnType: void
    signature: void conn_close(struct tcp_conn *tc, int err)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:281,1
    - Dst: getsockopt
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:285,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:287,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:292,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:297,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:308,1
    - Dst: dequeue
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:310,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:312,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:313,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:320,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:326,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:329,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:342,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:344,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:345,1
    - Dst: struct tcp_helper*::estabh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:355,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:357,1
    - Dst: struct tcp_conn*::estabh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:363,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:369,1
    - Dst: recv
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:373,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:375,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:376,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:380,1
    - Dst: struct tcp_helper*::estabh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:395,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:397,1
    - Dst: struct tcp_helper*::recvh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:404,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:406,1
    - Dst: mbuf_trim
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:415,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:421,1
    - Dst: struct tcp_conn*::estabh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:423,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:425,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:426,1
    - Dst: struct tcp_conn*::recvh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:434,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:438,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 116
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 270
    functionDepth: 5
    functionLinenumber: 270
    functionLinenumberEnd: 439
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 1
    functionsReached:
    - struct tcp_helper*::recvh
    - conn_close
    - mbuf_trim
    - mem_ref
    - DEBUG_INFO
    - mem_deref
    - struct tcp_conn*::recvh
    - struct tcp_conn*::estabh
    - getsockopt
    - DEBUG_WARNING
    - mem_nrefs
    - dequeue
    - recv
    - struct tcp_helper*::estabh
    - mbuf_alloc
    - fd_listen
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(int flags, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:447,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - eh
    - rh
    - ch
    - arg
    argTypes:
    - tcp_estab_h*
    - tcp_recv_h*
    - tcp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 462
    functionName: conn_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 8
    functionsReached:
    - mem_zalloc
    - list_init
    linkageType: ''
    returnType: struct tcp_conn
    signature: "struct tcp_conn *conn_alloc(tcp_estab_h *eh, tcp_recv_h *rh,\n\t\t\t\t
      \  tcp_close_h *ch, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:471,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 478
    functionName: tcp_sockopt_set
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void tcp_sockopt_set(int fd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:495,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:498,1
    - Dst: accept
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:500,1
    - Dst: tcp_sock_local_get
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:509,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:514,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:515,1
    - Dst: tcp_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:519,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:526,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:528,1
    - Dst: net_sockopt_blocking_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:535,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:537,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:538,1
    - Dst: tcp_sockopt_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:543,1
    - Dst: struct tcp_sock*::connh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - flags
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 547
    functionName: tcp_conn_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - net_sockopt_blocking_set
    - tcp_listen
    - tcp_sockopt_set
    - close
    - fd_close
    - mem_deref
    - struct tcp_sock*::connh
    - DEBUG_WARNING
    - sa_init
    - tcp_sock_local_get
    - accept
    - fd_listen
    linkageType: ''
    returnType: void
    signature: void tcp_conn_handler(int flags, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:572,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:580,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:582,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:582,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:585,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:592,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:595,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:596,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:598,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:599,1
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:611,1
    - Dst: net_sockopt_reuse_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:617,1
    - Dst: net_sockopt_blocking_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:619,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:621,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:622,1
    - Dst: tcp_sockopt_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:626,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:634,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:644,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 4
    argNames:
    - tsp
    - local
    - ch
    - arg
    argTypes:
    - struct tcp_sock**
    - struct sa*
    - tcp_conn_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 560
    functionDepth: 5
    functionLinenumber: 560
    functionLinenumberEnd: 649
    functionName: tcp_sock_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 2
    functionsReached:
    - net_sockopt_blocking_set
    - sa_port
    - re_snprintf
    - gai_strerror
    - tcp_sockopt_set
    - close
    - mem_deref
    - DEBUG_WARNING
    - getaddrinfo
    - mem_zalloc
    - socket
    - WSAGetLastError
    - net_sockopt_reuse_set
    - memset
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int tcp_sock_alloc(struct tcp_sock **tsp, const struct sa *local,\n\t\t
      \  tcp_conn_h *ch, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - tso
    argTypes:
    - struct tcp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 676
    functionName: tcp_sock_dup
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - mem_zalloc
    linkageType: ''
    returnType: struct tcp_sock
    signature: struct tcp_sock *tcp_sock_dup(struct tcp_sock *tso)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:698,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:700,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:700,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:703,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:710,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:713,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:714,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:716,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:717,1
    - Dst: bind
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:724,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:726,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - ts
    - local
    argTypes:
    - struct tcp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 687
    functionDepth: 5
    functionLinenumber: 687
    functionLinenumberEnd: 739
    functionName: tcp_sock_bind
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 2
    functionsReached:
    - sa_port
    - bind
    - gai_strerror
    - DEBUG_WARNING
    - getaddrinfo
    - memset
    - WSAGetLastError
    - re_snprintf
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int tcp_sock_bind(struct tcp_sock *ts, const struct sa *local)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:758,1
    - Dst: listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:762,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:764,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ts
    - backlog
    argTypes:
    - struct tcp_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 769
    functionName: tcp_sock_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 2
    functionsReached:
    - fd_listen
    - DEBUG_WARNING
    - listen
    linkageType: ''
    returnType: int
    signature: int tcp_sock_listen(struct tcp_sock *ts, int backlog)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: conn_alloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:793,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:801,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:804,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - tcp
    - ts
    - eh
    - rh
    - ch
    - arg
    argTypes:
    - struct tcp_conn**
    - struct tcp_sock*
    - tcp_estab_h*
    - tcp_recv_h*
    - tcp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 813
    functionName: tcp_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 3
    functionsReached:
    - mem_deref
    - conn_alloc
    - DEBUG_WARNING
    - fd_listen
    linkageType: ''
    returnType: int
    signature: "int tcp_accept(struct tcp_conn **tcp, struct tcp_sock *ts, tcp_estab_h
      *eh,\n\t       tcp_recv_h *rh, tcp_close_h *ch, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct tcp_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: tcp_reject
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 1
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void tcp_reject(struct tcp_sock *ts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:855,1
    - Dst: conn_alloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:858,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:862,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:869,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:871,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:871,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:873,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:875,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:876,1
    - Dst: socket
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:884,1
    - Dst: net_sockopt_blocking_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:891,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:893,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:894,1
    - Dst: tcp_sockopt_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:899,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:905,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - tcp
    - peer
    - eh
    - rh
    - ch
    - arg
    argTypes:
    - struct tcp_conn**
    - struct sa*
    - tcp_estab_h*
    - tcp_recv_h*
    - tcp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 845
    functionDepth: 5
    functionLinenumber: 845
    functionLinenumberEnd: 914
    functionName: tcp_conn_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 3
    functionsReached:
    - net_sockopt_blocking_set
    - sa_port
    - re_snprintf
    - gai_strerror
    - tcp_sockopt_set
    - close
    - mem_deref
    - DEBUG_WARNING
    - getaddrinfo
    - sa_isset
    - socket
    - memset
    - freeaddrinfo
    - conn_alloc
    linkageType: ''
    returnType: int
    signature: "int tcp_conn_alloc(struct tcp_conn **tcp,\n\t\t   const struct sa
      *peer, tcp_estab_h *eh,\n\t\t   tcp_recv_h *rh, tcp_close_h *ch, void *arg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:936,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:938,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:938,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:941,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:948,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:950,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:951,1
    - Dst: net_sockopt_reuse_set
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:958,1
    - Dst: bind
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:961,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:969,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:980,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:983,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - tc
    - local
    argTypes:
    - struct tcp_conn*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 925
    functionDepth: 5
    functionLinenumber: 925
    functionLinenumberEnd: 987
    functionName: tcp_conn_bind
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 2
    functionsReached:
    - sa_port
    - bind
    - gai_strerror
    - DEBUG_WARNING
    - getaddrinfo
    - memset
    - net_sockopt_reuse_set
    - re_snprintf
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: int tcp_conn_bind(struct tcp_conn *tc, const struct sa *local)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1005,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1011,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1015,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1022,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1024,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1024,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1026,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1028,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1029,1
    - Dst: connect
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1037,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1044,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1061,1
    - Dst: freeaddrinfo
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1068,1
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1073,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - tc
    - peer
    argTypes:
    - struct tcp_conn*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 998
    functionDepth: 5
    functionLinenumber: 998
    functionLinenumberEnd: 1075
    functionName: tcp_conn_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 3
    functionsReached:
    - sa_port
    - gai_strerror
    - DEBUG_INFO
    - DEBUG_WARNING
    - getaddrinfo
    - sa_isset
    - memset
    - WSAGetLastError
    - fd_listen
    - re_snprintf
    - freeaddrinfo
    - connect
    linkageType: ''
    returnType: int
    signature: int tcp_conn_connect(struct tcp_conn *tc, const struct sa *peer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1092,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1093,1
    - Dst: struct tcp_helper*::sendh
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1104,1
    - Dst: enqueue
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1109,1
    - Dst: send
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1111,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1111,1
    - Dst: enqueue
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1115,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1118,1
    - Dst: enqueue
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1119,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1123,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1126,1
    - Dst: WSAGetLastError
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1126,1
    - Dst: enqueue
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - tc
    - mb
    - le
    argTypes:
    - struct tcp_conn*
    - struct mbuf*
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1078
    functionDepth: 6
    functionLinenumber: 1078
    functionLinenumberEnd: 1142
    functionName: tcp_send_internal
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - enqueue
    - DEBUG_WARNING
    - struct tcp_helper*::sendh
    - send
    - WSAGetLastError
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int tcp_send_internal(struct tcp_conn *tc, struct mbuf *mb,\n\t\t\t
      \    struct le *le)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send_internal
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tc
    - mb
    argTypes:
    - struct tcp_conn*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1153
    functionDepth: 7
    functionLinenumber: 1153
    functionLinenumberEnd: 1159
    functionName: tcp_send
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 14
    functionsReached:
    - tcp_send_internal
    linkageType: ''
    returnType: int
    signature: int tcp_send(struct tcp_conn *tc, struct mbuf *mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send_internal
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - tc
    - mb
    - th
    argTypes:
    - struct tcp_conn*
    - struct mbuf*
    - struct tcp_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1172
    functionDepth: 7
    functionLinenumber: 1172
    functionLinenumberEnd: 1179
    functionName: tcp_send_helper
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 1
    functionsReached:
    - tcp_send_internal
    linkageType: ''
    returnType: int
    signature: "int tcp_send_helper(struct tcp_conn *tc, struct mbuf *mb,\n\t\t    struct
      tcp_helper *th)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tc
    - sendh
    argTypes:
    - struct tcp_conn*
    - tcp_send_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1202
    functionName: tcp_set_send
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - fd_listen
    linkageType: ''
    returnType: int
    signature: int tcp_set_send(struct tcp_conn *tc, tcp_send_h *sendh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tc
    - eh
    - rh
    - ch
    - arg
    argTypes:
    - struct tcp_conn*
    - tcp_estab_h*
    - tcp_recv_h*
    - tcp_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1224
    functionName: tcp_set_handlers
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tcp_set_handlers(struct tcp_conn *tc, tcp_estab_h *eh, tcp_recv_h
      *rh,\n\t\t      tcp_close_h *ch, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1240,1
    - Dst: getsockname
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1242,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ts
    - local
    argTypes:
    - struct tcp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1248
    functionName: tcp_sock_local_get
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 3
    functionsReached:
    - DEBUG_WARNING
    - sa_init
    - getsockname
    linkageType: ''
    returnType: int
    signature: int tcp_sock_local_get(const struct tcp_sock *ts, struct sa *local)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1264,1
    - Dst: getsockname
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1266,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tc
    - local
    argTypes:
    - struct tcp_conn*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1272
    functionName: tcp_conn_local_get
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 1
    functionsReached:
    - DEBUG_WARNING
    - sa_init
    - getsockname
    linkageType: ''
    returnType: int
    signature: int tcp_conn_local_get(const struct tcp_conn *tc, struct sa *local)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1288,1
    - Dst: getpeername
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1290,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tc
    - peer
    argTypes:
    - struct tcp_conn*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1296
    functionName: tcp_conn_peer_get
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached:
    - sa_init
    - getpeername
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int tcp_conn_peer_get(const struct tcp_conn *tc, struct sa *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tc
    - rxsz
    argTypes:
    - struct tcp_conn*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1311
    functionName: tcp_conn_rxsz_set
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tcp_conn_rxsz_set(struct tcp_conn *tc, size_t rxsz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tc
    - txqsz
    argTypes:
    - struct tcp_conn*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1326
    functionName: tcp_conn_txqsz_set
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tcp_conn_txqsz_set(struct tcp_conn *tc, size_t txqsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1339
    functionName: tcp_conn_fd
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tcp_conn_fd(const struct tcp_conn *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tc
    argTypes:
    - struct tcp_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1352
    functionName: tcp_conn_txqsz
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tcp_conn_txqsz(const struct tcp_conn *tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - le1
    - le2
    - arg
    argTypes:
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1361
    functionName: sort_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sort_handler(struct le *le1, struct le *le2, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1387,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1391,1
    - Dst: list_sort
      Src: /src/rtpproxy/external/libre/src/tcp/tcp.c:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - thp
    - tc
    - layer
    - eh
    - sh
    - rh
    - arg
    argTypes:
    - struct tcp_helper**
    - struct tcp_conn*
    - int
    - tcp_helper_estab_h*
    - tcp_helper_send_h*
    - tcp_helper_recv_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1405
    functionName: tcp_register_helper
    functionSourceFile: /src/rtpproxy/external/libre/src/tcp/tcp.c
    functionUses: 1
    functionsReached:
    - list_append
    - mem_zalloc
    - list_sort
    linkageType: ''
    returnType: int
    signature: "int tcp_register_helper(struct tcp_helper **thp, struct tcp_conn *tc,\n\t\t\tint
      layer,\n\t\t\ttcp_helper_estab_h *eh, tcp_helper_send_h *sh,\n\t\t\ttcp_helper_recv_h
      *rh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:41,1
    - Dst: read
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:48,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:56,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - mb
    - filename
    argTypes:
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 62
    functionName: load_file
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - close
    - open
    - read
    linkageType: ''
    returnType: int
    signature: int load_file(struct mbuf *mb, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: conf_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void conf_destructor(void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:89,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:93,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:99,1
    - Dst: load_file
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:101,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - confp
    - filename
    argTypes:
    - struct conf**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 110
    functionName: conf_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - load_file
    - mem_deref
    - mem_zalloc
    - mbuf_write_u8
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int conf_alloc(struct conf **confp, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conf_alloc
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:127,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:131,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - confp
    - buf
    - sz
    argTypes:
    - struct conf**
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: conf_alloc_buf
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mem_deref
    - conf_alloc
    linkageType: ''
    returnType: int
    signature: int conf_alloc_buf(struct conf **confp, const uint8_t *buf, size_t
      sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:162,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - name
    - pl
    argTypes:
    - struct conf*
    - char*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: conf_get
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    linkageType: ''
    returnType: int
    signature: int conf_get(const struct conf *conf, const char *name, struct pl *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:188,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - conf
    - name
    - str
    - size
    argTypes:
    - struct conf*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: conf_get_str
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - conf_get
    - pl_strcpy
    linkageType: ''
    returnType: int
    signature: "int conf_get_str(const struct conf *conf, const char *name, char *str,\n\t\t
      size_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:213,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - conf
    - name
    - num
    argTypes:
    - struct conf*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: conf_get_u32
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - pl_u32
    - conf_get
    linkageType: ''
    returnType: int
    signature: int conf_get_u32(const struct conf *conf, const char *name, uint32_t
      *num)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: conf_get
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:240,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:244,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:246,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - struct conf*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 232
    functionDepth: 6
    functionLinenumber: 232
    functionLinenumberEnd: 254
    functionName: conf_get_bool
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    - conf_get
    linkageType: ''
    returnType: int
    signature: int conf_get_bool(const struct conf *conf, const char *name, bool *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:280,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:283,1
    - Dst: ch
      Src: /src/rtpproxy/external/libre/src/conf/conf.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - conf
    - name
    - ch
    - arg
    argTypes:
    - struct conf*
    - char*
    - conf_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 267
    functionDepth: 5
    functionLinenumber: 267
    functionLinenumberEnd: 294
    functionName: conf_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/conf/conf.c
    functionUses: 0
    functionsReached:
    - re_snprintf
    - re_regex
    - ch
    linkageType: ''
    returnType: int
    signature: "int conf_apply(const struct conf *conf, const char *name,\n\t       conf_h
      *ch, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - crc
    - buf
    - size
    argTypes:
    - uint32_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: crc32
    functionSourceFile: /src/rtpproxy/external/libre/src/crc32/crc32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32(uint32_t crc, const void *buf, uint32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poll_close
      Src: /src/rtpproxy/external/libre/src/main/main.c:166,1
    - Dst: free
      Src: /src/rtpproxy/external/libre/src/main/main.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: thread_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - free
    - poll_close
    linkageType: ''
    returnType: void
    signature: void thread_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/rtpproxy/external/libre/src/main/main.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: re_once
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void re_once(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/rtpproxy/external/libre/src/main/main.c:181,1
    - Dst: pthread_getspecific
      Src: /src/rtpproxy/external/libre/src/main/main.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: re_get
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - pthread_once
    - pthread_getspecific
    linkageType: ''
    returnType: struct re
    signature: struct re *re_get(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:196,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: re_lock
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void re_lock(struct re *re)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:207,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: re_unlock
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void re_unlock(struct re *re)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: re_get
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct re
    signature: struct re *re_get(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/main/main.c:237,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:240,1
    - Dst: fh
      Src: /src/rtpproxy/external/libre/src/main/main.c:242,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/main/main.c:244,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - re
    - fd
    - flags
    argTypes:
    - struct re*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: fd_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - fh
    - DEBUG_INFO
    - tmr_jiffies
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void fd_handler(struct re *re, int fd, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - re
    - fd
    - flags
    argTypes:
    - struct re*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: set_poll_fds
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_poll_fds(struct re *re, int fd, int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/main/main.c:288,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:290,1
    - Dst: epoll_ctl
      Src: /src/rtpproxy/external/libre/src/main/main.c:303,1
    - Dst: epoll_ctl
      Src: /src/rtpproxy/external/libre/src/main/main.c:308,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:311,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:319,1
    - Dst: epoll_ctl
      Src: /src/rtpproxy/external/libre/src/main/main.c:333,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:335,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - re
    - fd
    - flags
    argTypes:
    - struct re*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 341
    functionName: set_epoll_fds
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - memset
    - epoll_ctl
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int set_epoll_fds(struct re *re, int fd, int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/main/main.c:351,1
    - Dst: EV_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:354,1
    - Dst: EV_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:355,1
    - Dst: kevent
      Src: /src/rtpproxy/external/libre/src/main/main.c:356,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/main/main.c:358,1
    - Dst: EV_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:361,1
    - Dst: EV_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:365,1
    - Dst: kevent
      Src: /src/rtpproxy/external/libre/src/main/main.c:370,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - re
    - fd
    - flags
    argTypes:
    - struct re*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 381
    functionName: set_kqueue_fds
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - kevent
    - memset
    - EV_SET
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int set_kqueue_fds(struct re *re, int fd, int flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:393,1
    - Dst: set_poll_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:404,1
    - Dst: set_epoll_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:409,1
    - Dst: set_kqueue_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 428
    functionName: rebuild_fds
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - set_epoll_fds
    - DEBUG_INFO
    - set_kqueue_fds
    - set_poll_fds
    linkageType: ''
    returnType: int
    signature: int rebuild_fds(struct re *re)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:433,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:436,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/main/main.c:445,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:455,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/main/main.c:457,1
    - Dst: epoll_create
      Src: /src/rtpproxy/external/libre/src/main/main.c:464,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:468,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:472,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/main/main.c:481,1
    - Dst: kqueue
      Src: /src/rtpproxy/external/libre/src/main/main.c:487,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:490,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 500
    functionName: poll_init
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - DEBUG_WARNING
    - mem_zalloc
    - epoll_create
    - kqueue
    linkageType: ''
    returnType: int
    signature: int poll_init(struct re *re)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:506,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/main.c:508,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/main.c:512,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:515,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/main/main.c:518,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/main.c:522,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/main/main.c:527,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/main.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 533
    functionName: poll_close
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 1
    functionsReached:
    - close
    - DEBUG_INFO
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void poll_close(struct re *re)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fd_setsize
      Src: /src/rtpproxy/external/libre/src/main/main.c:540,1
    - Dst: poll_method_set
      Src: /src/rtpproxy/external/libre/src/main/main.c:545,1
    - Dst: poll_method_best
      Src: /src/rtpproxy/external/libre/src/main/main.c:545,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:549,1
    - Dst: poll_method_name
      Src: /src/rtpproxy/external/libre/src/main/main.c:550,1
    - Dst: poll_init
      Src: /src/rtpproxy/external/libre/src/main/main.c:553,1
    - Dst: poll_close
      Src: /src/rtpproxy/external/libre/src/main/main.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 560
    functionName: poll_setup
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - fd_setsize
    - DEBUG_INFO
    - poll_method_set
    - poll_method_name
    - poll_method_best
    - poll_close
    - poll_init
    linkageType: ''
    returnType: int
    signature: int poll_setup(struct re *re)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:575,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:578,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:581,1
    - Dst: poll_setup
      Src: /src/rtpproxy/external/libre/src/main/main.c:586,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:593,1
    - Dst: max
      Src: /src/rtpproxy/external/libre/src/main/main.c:607,1
    - Dst: set_poll_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:613,1
    - Dst: set_epoll_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:621,1
    - Dst: set_kqueue_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:627,1
    - Dst: fd_close
      Src: /src/rtpproxy/external/libre/src/main/main.c:637,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:638,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 4
    argNames:
    - fd
    - flags
    - fh
    - arg
    argTypes:
    - int
    - int
    - fd_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 644
    functionName: fd_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 9
    functionsReached:
    - max
    - re_get
    - DEBUG_INFO
    - poll_setup
    - fd_close
    - DEBUG_WARNING
    - set_epoll_fds
    - set_poll_fds
    - set_kqueue_fds
    linkageType: ''
    returnType: int
    signature: int fd_listen(int fd, int flags, fd_h *fh, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fd_listen
      Src: /src/rtpproxy/external/libre/src/main/main.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: fd_close
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 9
    functionsReached:
    - fd_listen
    linkageType: ''
    returnType: void
    signature: void fd_close(int fd)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: tmr_next_timeout
      Src: /src/rtpproxy/external/libre/src/main/main.c:667,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:673,1
    - Dst: re_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:680,1
    - Dst: poll
      Src: /src/rtpproxy/external/libre/src/main/main.c:681,1
    - Dst: re_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:682,1
    - Dst: FD_ZERO
      Src: /src/rtpproxy/external/libre/src/main/main.c:690,1
    - Dst: FD_ZERO
      Src: /src/rtpproxy/external/libre/src/main/main.c:691,1
    - Dst: FD_ZERO
      Src: /src/rtpproxy/external/libre/src/main/main.c:692,1
    - Dst: FD_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:699,1
    - Dst: FD_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:701,1
    - Dst: FD_SET
      Src: /src/rtpproxy/external/libre/src/main/main.c:703,1
    - Dst: re_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:712,1
    - Dst: select
      Src: /src/rtpproxy/external/libre/src/main/main.c:713,1
    - Dst: re_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:714,1
    - Dst: re_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:720,1
    - Dst: epoll_wait
      Src: /src/rtpproxy/external/libre/src/main/main.c:721,1
    - Dst: re_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:724,1
    - Dst: re_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:735,1
    - Dst: kevent
      Src: /src/rtpproxy/external/libre/src/main/main.c:736,1
    - Dst: re_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:738,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:745,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:768,1
    - Dst: FD_ISSET
      Src: /src/rtpproxy/external/libre/src/main/main.c:781,1
    - Dst: FD_ISSET
      Src: /src/rtpproxy/external/libre/src/main/main.c:783,1
    - Dst: FD_ISSET
      Src: /src/rtpproxy/external/libre/src/main/main.c:785,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:805,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:819,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:828,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:837,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:842,1
    - Dst: fd_handler
      Src: /src/rtpproxy/external/libre/src/main/main.c:857,1
    - Dst: fh
      Src: /src/rtpproxy/external/libre/src/main/main.c:859,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 130
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct re*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 873
    functionName: fd_poll
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - DEBUG_INFO
    - FD_ZERO
    - tmr_next_timeout
    - DEBUG_WARNING
    - poll
    - kevent
    - re_lock
    - re_unlock
    - epoll_wait
    - FD_ISSET
    - FD_SET
    - fd_handler
    - fh
    - select
    linkageType: ''
    returnType: int
    signature: int fd_poll(struct re *re)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:885,1
    - Dst: fd_debug
      Src: /src/rtpproxy/external/libre/src/main/main.c:888,1
    - Dst: poll_close
      Src: /src/rtpproxy/external/libre/src/main/main.c:889,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:897,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/main/main.c:900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - maxfds
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 906
    functionName: fd_setsize
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 1
    functionsReached:
    - fd_debug
    - re_get
    - DEBUG_INFO
    - mem_zalloc
    - poll_close
    linkageType: ''
    returnType: int
    signature: int fd_setsize(int maxfds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:914,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/main/main.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 912
    functionDepth: 5
    functionLinenumber: 912
    functionLinenumberEnd: 930
    functionName: fd_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 1
    functionsReached:
    - re_fprintf
    - re_get
    linkageType: ''
    returnType: void
    signature: void fd_debug(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/main/main.c:937,1
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: signal_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - signal
    - re_get
    linkageType: ''
    returnType: void
    signature: void signal_handler(int sig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:953,1
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/main/main.c:958,1
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/main/main.c:959,1
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/main/main.c:960,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:965,1
    - Dst: poll_setup
      Src: /src/rtpproxy/external/libre/src/main/main.c:969,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:973,1
    - Dst: poll_method_name
      Src: /src/rtpproxy/external/libre/src/main/main.c:974,1
    - Dst: re_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:978,1
    - Dst: signalh
      Src: /src/rtpproxy/external/libre/src/main/main.c:983,1
    - Dst: fd_poll
      Src: /src/rtpproxy/external/libre/src/main/main.c:993,1
    - Dst: tmr_poll
      Src: /src/rtpproxy/external/libre/src/main/main.c:1007,1
    - Dst: re_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:1009,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - signalh
    argTypes:
    - re_signal_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 1015
    functionName: re_main
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - signal
    - re_get
    - fd_poll
    - DEBUG_INFO
    - tmr_poll
    - poll_setup
    - DEBUG_WARNING
    - poll_method_name
    - re_lock
    - re_unlock
    - signalh
    linkageType: ''
    returnType: int
    signature: int re_main(re_signal_h *signalh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: re_cancel
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - re_get
    linkageType: ''
    returnType: void
    signature: void re_cancel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1039,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/main/main.c:1044,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/main/main.c:1045,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/main/main.c:1046,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/main/main.c:1047,1
    - Dst: poll_method_name
      Src: /src/rtpproxy/external/libre/src/main/main.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1037
    functionDepth: 4
    functionLinenumber: 1037
    functionLinenumberEnd: 1051
    functionName: re_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - poll_method_name
    - re_get
    linkageType: ''
    returnType: int
    signature: int re_debug(struct re_printf *pf, void *unused)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1064,1
    - Dst: fd_setsize
      Src: /src/rtpproxy/external/libre/src/main/main.c:1067,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:1080,1
    - Dst: epoll_check
      Src: /src/rtpproxy/external/libre/src/main/main.c:1087,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:1096,1
    - Dst: poll_method_name
      Src: /src/rtpproxy/external/libre/src/main/main.c:1097,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/main.c:1104,1
    - Dst: poll_method_name
      Src: /src/rtpproxy/external/libre/src/main/main.c:1105,1
    - Dst: poll_init
      Src: /src/rtpproxy/external/libre/src/main/main.c:1107,1
    - Dst: rebuild_fds
      Src: /src/rtpproxy/external/libre/src/main/main.c:1111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - method
    argTypes:
    - enum poll_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1112
    functionName: poll_method_set
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 1
    functionsReached:
    - fd_setsize
    - re_get
    - DEBUG_INFO
    - epoll_check
    - DEBUG_WARNING
    - poll_method_name
    - rebuild_fds
    - poll_init
    linkageType: ''
    returnType: int
    signature: int poll_method_set(enum poll_method method)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/rtpproxy/external/libre/src/main/main.c:1125,1
    - Dst: pthread_getspecific
      Src: /src/rtpproxy/external/libre/src/main/main.c:1127,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/main/main.c:1129,1
    - Dst: pthread_self
      Src: /src/rtpproxy/external/libre/src/main/main.c:1130,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libre/src/main/main.c:1134,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/main/main.c:1138,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/external/libre/src/main/main.c:1139,1
    - Dst: pthread_setspecific
      Src: /src/rtpproxy/external/libre/src/main/main.c:1150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1155
    functionName: re_thread_init
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - pthread_self
    - malloc
    - DEBUG_WARNING
    - pthread_once
    - pthread_setspecific
    - pthread_getspecific
    - memset
    linkageType: ''
    returnType: int
    signature: int re_thread_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/rtpproxy/external/libre/src/main/main.c:1166,1
    - Dst: pthread_getspecific
      Src: /src/rtpproxy/external/libre/src/main/main.c:1168,1
    - Dst: poll_close
      Src: /src/rtpproxy/external/libre/src/main/main.c:1170,1
    - Dst: free
      Src: /src/rtpproxy/external/libre/src/main/main.c:1171,1
    - Dst: pthread_setspecific
      Src: /src/rtpproxy/external/libre/src/main/main.c:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1175
    functionName: re_thread_close
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - free
    - pthread_once
    - pthread_setspecific
    - pthread_getspecific
    - poll_close
    linkageType: ''
    returnType: void
    signature: void re_thread_close(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_lock
      Src: /src/rtpproxy/external/libre/src/main/main.c:1185,1
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: re_thread_enter
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - re_lock
    - re_get
    linkageType: ''
    returnType: void
    signature: void re_thread_enter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_unlock
      Src: /src/rtpproxy/external/libre/src/main/main.c:1196,1
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1197
    functionName: re_thread_leave
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - re_unlock
    - re_get
    linkageType: ''
    returnType: void
    signature: void re_thread_leave(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutexp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1214
    functionName: re_set_mutex
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - re_get
    linkageType: ''
    returnType: void
    signature: void re_set_mutex(void *mutexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_get
      Src: /src/rtpproxy/external/libre/src/main/main.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1228
    functionName: tmrl_get
    functionSourceFile: /src/rtpproxy/external/libre/src/main/main.c
    functionUses: 0
    functionsReached:
    - re_get
    linkageType: ''
    returnType: struct list
    signature: struct list *tmrl_get(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: epoll_check
      Src: /src/rtpproxy/external/libre/src/main/method.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 54
    functionName: poll_method_best
    functionSourceFile: /src/rtpproxy/external/libre/src/main/method.c
    functionUses: 1
    functionsReached:
    - epoll_check
    linkageType: ''
    returnType: enum poll_method
    signature: enum poll_method poll_method_best(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - method
    argTypes:
    - enum poll_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: poll_method_name
    functionSourceFile: /src/rtpproxy/external/libre/src/main/method.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *poll_method_name(enum poll_method method)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/main/method.c:90,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/main/method.c:92,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/main/method.c:94,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/main/method.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - method
    - name
    argTypes:
    - enum poll_method*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: poll_method_type
    functionSourceFile: /src/rtpproxy/external/libre/src/main/method.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: int
    signature: int poll_method_type(enum poll_method *method, const struct pl *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sys_rel_get
      Src: /src/rtpproxy/external/libre/src/main/epoll.c:29,1
    - Dst: DEBUG_INFO
      Src: /src/rtpproxy/external/libre/src/main/epoll.c:34,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/main/epoll.c:41,1
    - Dst: epoll_create
      Src: /src/rtpproxy/external/libre/src/main/epoll.c:46,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/main/epoll.c:48,1
    - Dst: close
      Src: /src/rtpproxy/external/libre/src/main/epoll.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 55
    functionName: epoll_check
    functionSourceFile: /src/rtpproxy/external/libre/src/main/epoll.c
    functionUses: 2
    functionsReached:
    - sys_rel_get
    - DEBUG_INFO
    - close
    - DEBUG_NOTICE
    - epoll_create
    linkageType: ''
    returnType: bool
    signature: bool epoll_check(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand_init
      Src: /src/rtpproxy/external/libre/src/main/init.c:24,1
    - Dst: openssl_init
      Src: /src/rtpproxy/external/libre/src/main/init.c:27,1
    - Dst: net_sock_init
      Src: /src/rtpproxy/external/libre/src/main/init.c:32,1
    - Dst: net_sock_close
      Src: /src/rtpproxy/external/libre/src/main/init.c:38,1
    - Dst: openssl_close
      Src: /src/rtpproxy/external/libre/src/main/init.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 45
    functionName: libre_init
    functionSourceFile: /src/rtpproxy/external/libre/src/main/init.c
    functionUses: 0
    functionsReached:
    - openssl_close
    - net_sock_close
    - net_sock_init
    - rand_init
    - openssl_init
    linkageType: ''
    returnType: int
    signature: int libre_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fd_setsize
      Src: /src/rtpproxy/external/libre/src/main/init.c:53,1
    - Dst: net_sock_close
      Src: /src/rtpproxy/external/libre/src/main/init.c:54,1
    - Dst: openssl_close
      Src: /src/rtpproxy/external/libre/src/main/init.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: libre_close
    functionSourceFile: /src/rtpproxy/external/libre/src/main/init.c
    functionUses: 0
    functionsReached:
    - openssl_close
    - net_sock_close
    - fd_setsize
    linkageType: ''
    returnType: void
    signature: void libre_close(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_self
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:31,1
    - Dst: pthread_self
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: threadid
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - pthread_self
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long threadid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_THREADID_set_numeric
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:41,1
    - Dst: threadid
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CRYPTO_THREADID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: threadid_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - CRYPTO_THREADID_set_numeric
    - threadid
    linkageType: ''
    returnType: void
    signature: void threadid_handler(CRYPTO_THREADID *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: threadid
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: threadid_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - threadid
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long threadid_handler(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:57,1
    - Dst: pthread_mutex_unlock
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mode
    - type
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: locking_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void locking_handler(int mode, int type, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_alloc
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: dynlock_create_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - lock_alloc
    linkageType: ''
    returnType: struct CRYPTO_dynlock_value
    signature: "struct CRYPTO_dynlock_value *dynlock_create_handler(const char *file,\n\t\t\t\t\t\t\t
      \  int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lock_write_get
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:89,1
    - Dst: lock_rel
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mode
    - l
    - file
    - line
    argTypes:
    - int
    - struct CRYPTO_dynlock_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: dynlock_lock_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - lock_rel
    - lock_write_get
    linkageType: ''
    returnType: void
    signature: "void dynlock_lock_handler(int mode, struct CRYPTO_dynlock_value *l,\n\t\t\t\t
      const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - l
    - file
    - line
    argTypes:
    - struct CRYPTO_dynlock_value*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: dynlock_destroy_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: "void dynlock_destroy_handler(struct CRYPTO_dynlock_value *l,\n\t\t\t\t
      \   const char *file, int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: sigpipe_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 0
    functionsReached:
    - signal
    linkageType: ''
    returnType: void
    signature: void sigpipe_handler(int x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:120,1
    - Dst: CRYPTO_num_locks
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:120,1
    - Dst: CRYPTO_num_locks
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:124,1
    - Dst: pthread_mutex_init
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:126,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:128,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:134,1
    - Dst: CRYPTO_set_id_callback
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:136,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:139,1
    - Dst: CRYPTO_set_dynlock_create_callback
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:143,1
    - Dst: CRYPTO_set_dynlock_lock_callback
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:144,1
    - Dst: CRYPTO_set_dynlock_destroy_callback
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:145,1
    - Dst: signal
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:149,1
    - Dst: SSL_library_init
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:152,1
    - Dst: SSL_load_error_strings
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 156
    functionName: openssl_init
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 1
    functionsReached:
    - CRYPTO_num_locks
    - SSL_load_error_strings
    - CRYPTO_THREADID_set_callback
    - pthread_mutex_init
    - signal
    - CRYPTO_set_id_callback
    - CRYPTO_set_dynlock_create_callback
    - mem_deref
    - CRYPTO_set_dynlock_lock_callback
    - CRYPTO_set_locking_callback
    - mem_zalloc
    - SSL_library_init
    - CRYPTO_set_dynlock_destroy_callback
    linkageType: ''
    returnType: int
    signature: int openssl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_free_strings
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:161,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/main/openssl.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: openssl_close
    functionSourceFile: /src/rtpproxy/external/libre/src/main/openssl.c
    functionUses: 2
    functionsReached:
    - mem_deref
    - ERR_free_strings
    linkageType: ''
    returnType: void
    signature: void openssl_close(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hdr
    - mb
    - arg
    argTypes:
    - struct websock_hdr*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: dummy_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dummy_recv_handler(const struct websock_hdr *hdr, struct mbuf
      *mb,\n\t\t\t       void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: internal_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void internal_close_handler(int err, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:93,1
    - Dst: struct websock*::shuth
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: sock_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - struct websock*::shuth
    - mem_ref
    linkageType: ''
    returnType: void
    signature: void sock_destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: websock_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:106,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:114,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:117,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:121,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:122,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:123,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:124,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:125,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - websock_close
    - mem_ref
    - mem_deref
    - tmr_start
    - tmr_cancel
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:132,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:133,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:134,1
    - Dst: struct websock_conn*::closeh
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - err
    argTypes:
    - struct websock_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 17
    functionsReached:
    - tmr_cancel
    - mem_deref
    - struct websock_conn*::closeh
    linkageType: ''
    returnType: void
    signature: void conn_close(struct websock_conn *conn, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - conn_close
    linkageType: ''
    returnType: void
    signature: void timeout_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:153,1
    - Dst: websock_send
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: keepalive_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - tmr_start
    - websock_send
    linkageType: ''
    returnType: void
    signature: void keepalive_handler(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: websock_err2scode
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum websock_scode
    signature: enum websock_scode websock_err2scode(int err)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:176,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:179,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:186,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:192,1
    - Dst: ntohs
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:195,1
    - Dst: mbuf_read_u16
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:195,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:199,1
    - Dst: sys_ntohll
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:202,1
    - Dst: mbuf_read_u64
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:202,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:207,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:210,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:211,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:212,1
    - Dst: mbuf_read_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:213,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:215,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - hdr
    - mb
    argTypes:
    - struct websock_hdr*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 224
    functionName: websock_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - sys_ntohll
    - mbuf_read_u64
    - ntohs
    - mbuf_read_u16
    - mbuf_read_u8
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int websock_decode(struct websock_hdr *hdr, struct mbuf *mb)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:234,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:236,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:243,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:243,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:250,1
    - Dst: websock_decode
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:260,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:287,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:293,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:308,1
    - Dst: struct websock_conn*::recvh
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:309,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:311,1
    - Dst: websock_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:314,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:325,1
    - Dst: websock_send
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:330,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:331,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:331,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:332,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:333,1
    - Dst: websock_send
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:337,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:338,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:338,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:345,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:350,1
    - Dst: websock_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:355,1
    - Dst: websock_err2scode
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:355,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:356,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 227
    functionDepth: 5
    functionLinenumber: 227
    functionLinenumberEnd: 358
    functionName: recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 2
    functionsReached:
    - mbuf_write_mem
    - websock_close
    - mbuf_buf
    - conn_close
    - websock_err2scode
    - mem_ref
    - mem_deref
    - websock_decode
    - struct websock_conn*::recvh
    - mem_nrefs
    - mbuf_get_left
    - mbuf_alloc
    - websock_send
    linkageType: ''
    returnType: void
    signature: void recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - conn_close
    linkageType: ''
    returnType: void
    signature: void close_handler(int err, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Init
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:374,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:375,1
    - Dst: SHA1_Update
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:376,1
    - Dst: SHA1_Final
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:377,1
    - Dst: base64_print
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - key
    argTypes:
    - struct re_printf*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: accept_print
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - base64_print
    - SHA1_Init
    - SHA1_Update
    - SHA1_Final
    linkageType: ''
    returnType: int
    signature: int accept_print(struct re_printf *pf, const struct pl *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:393,1
    - Dst: http_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:396,1
    - Dst: http_msg_hdr
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:399,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:406,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:409,1
    - Dst: tcp_conn_peer_get
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:415,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:418,1
    - Dst: struct websock_conn*::estabh
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:420,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:424,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct http_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 425
    functionName: http_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - conn_close
    - http_msg_hdr
    - pl_strcmp
    - tmr_start
    - struct websock_conn*::estabh
    - tcp_conn_peer_get
    - http_msg_hdr_has_value
    - re_snprintf
    linkageType: ''
    returnType: void
    signature: void http_resp_handler(int err, const struct http_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:433,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:434,1
    - Dst: tcp_set_handlers
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tc
    - sc
    - arg
    argTypes:
    - struct tcp_conn*
    - struct tls_conn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: http_conn_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - tcp_set_handlers
    - mem_ref
    linkageType: ''
    returnType: void
    signature: "void http_conn_handler(struct tcp_conn *tc, struct tls_conn *sc,\n\t\t\t
      \     void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:455,1
    - Dst: rand_bytes
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:460,1
    - Dst: base64_encode
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:464,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:468,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:478,1
    - Dst: http_request
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:479,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:489,1
    - Dst: http_req_set_conn_handler
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:493,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 10
    argNames:
    - connp
    - sock
    - cli
    - uri
    - kaint
    - estabh
    - recvh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct websock_conn**
    - struct websock*
    - struct http_cli*
    - char*
    - unsigned
    - websock_estab_h*
    - websock_recv_h*
    - websock_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 440
    functionDepth: 7
    functionLinenumber: 440
    functionLinenumberEnd: 502
    functionName: websock_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mem_ref
    - base64_encode
    - http_request
    - va_start
    - mem_deref
    - mem_zalloc
    - rand_bytes
    - http_req_set_conn_handler
    - va_end
    linkageType: ''
    returnType: int
    signature: "int websock_connect(struct websock_conn **connp, struct websock *sock,\n\t\t
      \   struct http_cli *cli, const char *uri, unsigned kaint,\n\t\t    websock_estab_h
      *estabh, websock_recv_h *recvh,\n\t\t    websock_close_h *closeh, void *arg,\n\t\t
      \   const char *fmt, ...)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: http_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:517,1
    - Dst: http_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:520,1
    - Dst: http_msg_hdr_has_value
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:523,1
    - Dst: http_msg_hdr
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:526,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:530,1
    - Dst: http_reply
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:534,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:543,1
    - Dst: http_conn_peer
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:543,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:544,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:545,1
    - Dst: http_conn_tcp
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:545,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:546,1
    - Dst: http_conn_tls
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:546,1
    - Dst: tcp_set_handlers
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:554,1
    - Dst: http_conn_close
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:555,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:558,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:562,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 8
    argNames:
    - connp
    - sock
    - htconn
    - msg
    - kaint
    - recvh
    - closeh
    - arg
    argTypes:
    - struct websock_conn**
    - struct websock*
    - struct http_conn*
    - struct http_msg*
    - unsigned
    - websock_recv_h*
    - websock_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 567
    functionName: websock_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - http_conn_peer
    - http_msg_hdr
    - mem_ref
    - tcp_set_handlers
    - mem_deref
    - tmr_start
    - http_conn_tcp
    - http_conn_close
    - http_reply
    - sa_cpy
    - mem_zalloc
    - http_msg_hdr_has_value
    - http_conn_tls
    linkageType: ''
    returnType: int
    signature: "int websock_accept(struct websock_conn **connp, struct websock *sock,\n\t\t
      \  struct http_conn *htconn, const struct http_msg *msg,\n\t\t   unsigned kaint,
      websock_recv_h *recvh,\n\t\t   websock_close_h *closeh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:575,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:578,1
    - Dst: mbuf_write_u64
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:579,1
    - Dst: sys_htonll
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:579,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:582,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:583,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:583,1
    - Dst: mbuf_write_u8
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:586,1
    - Dst: rand_bytes
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:594,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:596,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - mb
    - fin
    - opcode
    - mask
    - len
    argTypes:
    - struct mbuf*
    - bool
    - enum websock_opcode
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 570
    functionDepth: 6
    functionLinenumber: 570
    functionLinenumberEnd: 603
    functionName: websock_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_write_u16
    - mbuf_buf
    - htons
    - rand_bytes
    - sys_htonll
    - mbuf_write_u8
    - mbuf_write_u64
    linkageType: ''
    returnType: int
    signature: "int websock_encode(struct mbuf *mb, bool fin,\n\t\t\t  enum websock_opcode
      opcode, bool mask, size_t len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:617,1
    - Dst: mbuf_write_u16
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:624,1
    - Dst: htons
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:624,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:626,1
    - Dst: websock_encode
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:639,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:645,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:650,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 5
    argNames:
    - conn
    - opcode
    - scode
    - fmt
    - ap
    argTypes:
    - struct websock_conn*
    - enum websock_opcode
    - enum websock_scode
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 606
    functionDepth: 8
    functionLinenumber: 606
    functionLinenumberEnd: 653
    functionName: websock_vsend
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mbuf_write_u16
    - mbuf_vprintf
    - mem_deref
    - htons
    - tcp_send
    - websock_encode
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int websock_vsend(struct websock_conn *conn, enum websock_opcode opcode,\n\t\t\t
      enum websock_scode scode, const char *fmt, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:665,1
    - Dst: websock_vsend
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:666,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - conn
    - opcode
    - fmt
    argTypes:
    - struct websock_conn*
    - enum websock_opcode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 656
    functionDepth: 9
    functionLinenumber: 656
    functionLinenumberEnd: 670
    functionName: websock_send
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - websock_vsend
    linkageType: ''
    returnType: int
    signature: "int websock_send(struct websock_conn *conn, enum websock_opcode opcode,\n\t\t
      const char *fmt, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:685,1
    - Dst: websock_vsend
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:686,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - scode
    - fmt
    argTypes:
    - struct websock_conn*
    - enum websock_scode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 673
    functionDepth: 9
    functionLinenumber: 673
    functionLinenumberEnd: 693
    functionName: websock_close
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - websock_vsend
    linkageType: ''
    returnType: int
    signature: "int websock_close(struct websock_conn *conn, enum websock_scode scode,\n\t\t
      \ const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct websock_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: websock_peer
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *websock_peer(const struct websock_conn *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sockp
    - shuth
    - arg
    argTypes:
    - struct websock**
    - websock_shutdown_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 719
    functionName: websock_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: int websock_alloc(struct websock **sockp, websock_shutdown_h *shuth,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/websock/websock.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct websock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 729
    functionName: websock_shutdown
    functionSourceFile: /src/rtpproxy/external/libre/src/websock/websock.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void websock_shutdown(struct websock *sock)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:34,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:37,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:43,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:53,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:55,1
    - Dst: msg_param_exists
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:59,1
    - Dst: mbuf_write_pl_skip
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:60,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:61,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:62,1
    - Dst: mbuf_write_pl
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:66,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:68,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:70,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:73,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:77,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:79,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:80,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:82,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:94,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:104,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:107,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:109,1
    - Dst: sip_reply_addr
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:116,1
    - Dst: sip_strans_reply
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:119,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:122,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:127,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:132,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 10
    argNames:
    - stp
    - mbp
    - trans
    - sip
    - msg
    - rec_route
    - scode
    - reason
    - fmt
    - ap
    argTypes:
    - struct sip_strans**
    - struct mbuf**
    - bool
    - struct sip*
    - struct sip_msg*
    - bool
    - uint16_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 135
    functionName: vreplyf
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/reply.c
    functionUses: 0
    functionsReached:
    - sip_reply_addr
    - sip_send
    - sa_port
    - mbuf_write_pl
    - mbuf_vprintf
    - mbuf_write_str
    - pl_strcmp
    - mem_deref
    - pl_isset
    - mbuf_printf
    - msg_param_exists
    - mbuf_write_pl_skip
    - sa_cmp
    - sip_strans_reply
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int vreplyf(struct sip_strans **stp, struct mbuf **mbp, bool trans,\n\t\t
      \  struct sip *sip, const struct sip_msg *msg, bool rec_route,\n\t\t   uint16_t
      scode, const char *reason,\n\t\t   const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:159,1
    - Dst: vreplyf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:160,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - stp
    - mbp
    - sip
    - msg
    - rec_route
    - scode
    - reason
    - fmt
    argTypes:
    - struct sip_strans**
    - struct mbuf**
    - struct sip*
    - struct sip_msg*
    - bool
    - uint16_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: sip_treplyf
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/reply.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vreplyf
    linkageType: ''
    returnType: int
    signature: "int sip_treplyf(struct sip_strans **stp, struct mbuf **mbp, struct
      sip *sip,\n\t\tconst struct sip_msg *msg, bool rec_route, uint16_t scode,\n\t\tconst
      char *reason, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - stp
    - sip
    - msg
    - scode
    - reason
    argTypes:
    - struct sip_strans**
    - struct sip*
    - struct sip_msg*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 8
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: sip_treply
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/reply.c
    functionUses: 0
    functionsReached:
    - sip_treplyf
    linkageType: ''
    returnType: int
    signature: "int sip_treply(struct sip_strans **stp, struct sip *sip,\n\t       const
      struct sip_msg *msg, uint16_t scode, const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:203,1
    - Dst: vreplyf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:204,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - sip
    - msg
    - scode
    - reason
    - fmt
    argTypes:
    - struct sip*
    - struct sip_msg*
    - uint16_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 7
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: sip_replyf
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/reply.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vreplyf
    linkageType: ''
    returnType: int
    signature: "int sip_replyf(struct sip *sip, const struct sip_msg *msg, uint16_t
      scode,\n\t       const char *reason, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_replyf
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sip
    - msg
    - scode
    - reason
    argTypes:
    - struct sip*
    - struct sip_msg*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 8
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: sip_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/reply.c
    functionUses: 0
    functionsReached:
    - sip_replyf
    linkageType: ''
    returnType: int
    signature: "int sip_reply(struct sip *sip, const struct sip_msg *msg, uint16_t
      scode,\n\t      const char *reason)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:244,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:250,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:251,1
    - Dst: sip_transp_port
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:251,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:262,1
    - Dst: sip_transp_port
      Src: /src/rtpproxy/external/libre/src/sip/reply.c:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - addr
    - msg
    - rport
    argTypes:
    - struct sa*
    - struct sip_msg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: sip_reply_addr
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/reply.c
    functionUses: 1
    functionsReached:
    - sa_set
    - sa_port
    - sip_transp_port
    - sa_set_port
    - msg_param_decode
    linkageType: ''
    returnType: void
    signature: void sip_reply_addr(struct sa *addr, const struct sip_msg *msg, bool
      rport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/via.c:20,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/via.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - hostport
    - host
    - port
    argTypes:
    - struct pl*
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: decode_hostport
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/via.c
    functionUses: 2
    functionsReached:
    - re_regex
    linkageType: ''
    returnType: int
    signature: "int decode_hostport(const struct pl *hostport, struct pl *host,\n\t\t\t
      \  struct pl *port)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/via.c:46,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/via.c:54,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/via.c:56,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/via.c:58,1
    - Dst: decode_hostport
      Src: /src/rtpproxy/external/libre/src/sip/via.c:63,1
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/sip/via.c:67,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/sip/via.c:69,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/via.c:71,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/sip/via.c:72,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sip/via.c:72,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sip/via.c:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - via
    - pl
    argTypes:
    - struct sip_via*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 77
    functionName: sip_via_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/via.c
    functionUses: 0
    functionsReached:
    - sa_set
    - decode_hostport
    - pl_strcmp
    - pl_isset
    - sa_init
    - pl_u32
    - re_regex
    - sa_set_port
    - msg_param_decode
    linkageType: ''
    returnType: int
    signature: int sip_via_decode(struct sip_via *via, const struct pl *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - contact
    - uri
    - addr
    - tp
    argTypes:
    - struct sip_contact*
    - char*
    - struct sa*
    - enum sip_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: sip_contact_set
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/contact.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void sip_contact_set(struct sip_contact *contact, const char *uri,\n\t\t
      \    const struct sa *addr, enum sip_transp tp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/external/libre/src/sip/contact.c:50,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/contact.c:51,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/contact.c:53,1
    - Dst: sip_transp_param
      Src: /src/rtpproxy/external/libre/src/sip/contact.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pf
    - contact
    argTypes:
    - struct re_printf*
    - struct sip_contact*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: sip_contact_print
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/contact.c
    functionUses: 0
    functionsReached:
    - sip_transp_param
    - re_hprintf
    - strchr
    linkageType: ''
    returnType: int
    signature: int sip_contact_print(struct re_printf *pf, const struct sip_contact
      *contact)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hdr
    - msg
    - arg
    argTypes:
    - struct sip_hdr*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: route_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - mbuf_printf
    linkageType: ''
    returnType: bool
    signature: "bool route_handler(const struct sip_hdr *hdr, const struct sip_msg
      *msg,\n\t\t\t  void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_decode
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:72,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:77,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:81,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:82,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:83,1
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:84,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:86,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:88,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:89,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:90,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:92,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:93,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - mbp
    - ct
    - met
    - resp
    argTypes:
    - struct mbuf**
    - struct sip_ctrans*
    - char*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 103
    functionName: request_copy
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - mbuf_write_str
    - mem_deref
    - mbuf_printf
    - sip_msg_hdr_apply
    - sip_msg_decode
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int request_copy(struct mbuf **mbp, struct sip_ctrans *ct,\n\t\t\tconst
      char *met, const struct sip_msg *resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:110,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:111,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:112,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:113,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:114,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:115,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:116,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:117,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:127,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: dummy_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct sip_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ct
    - err
    argTypes:
    - struct sip_ctrans*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - struct sip_ctrans*::resph
    linkageType: ''
    returnType: void
    signature: void terminate(struct sip_ctrans *ct, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:165,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: transport_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - terminate
    linkageType: ''
    returnType: void
    signature: void transport_handler(int err, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:174,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - terminate
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:190,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:205,1
    - Dst: sip_transp_send
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:207,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:210,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: retransmit_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - sip_transp_send
    - mem_deref
    - tmr_start
    - terminate
    - MIN
    linkageType: ''
    returnType: void
    signature: void retransmit_handler(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:221,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:222,1
    - Dst: struct sip_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:227,1
    - Dst: struct sip_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:230,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:231,1
    - Dst: request_copy
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:236,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:237,1
    - Dst: struct sip_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:240,1
    - Dst: sip_transp_reliable
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:242,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:243,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:247,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - ct
    - msg
    argTypes:
    - struct sip_ctrans*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 216
    functionDepth: 7
    functionLinenumber: 216
    functionLinenumberEnd: 261
    functionName: invite_response
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - sip_send
    - mem_deref
    - tmr_start
    - sip_transp_reliable
    - tmr_cancel
    - struct sip_ctrans*::resph
    - request_copy
    linkageType: ''
    returnType: void
    signature: void invite_response(struct sip_ctrans *ct, const struct sip_msg *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:269,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:269,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:270,1
    - Dst: invite_response
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:276,1
    - Dst: struct sip_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:286,1
    - Dst: struct sip_ctrans*::resph
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:290,1
    - Dst: sip_transp_reliable
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:292,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:293,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:297,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 264
    functionDepth: 8
    functionLinenumber: 264
    functionLinenumberEnd: 307
    functionName: response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - list_ledata
    - mem_deref
    - tmr_start
    - sip_transp_reliable
    - invite_response
    - tmr_cancel
    - struct sip_ctrans*::resph
    - hash_lookup
    linkageType: ''
    returnType: bool
    signature: bool response_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:321,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:325,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:325,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:327,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:328,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:329,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:330,1
    - Dst: sip_transp_send
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:338,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:343,1
    - Dst: sip_transp_reliable
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:345,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:346,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 9
    argNames:
    - ctp
    - sip
    - tp
    - dst
    - met
    - branch
    - mb
    - resph
    - arg
    argTypes:
    - struct sip_ctrans**
    - struct sip*
    - enum sip_transp
    - struct sa*
    - char*
    - char*
    - struct mbuf*
    - sip_resp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 355
    functionName: sip_ctrans_request
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - hash_append
    - sip_transp_send
    - mem_ref
    - mem_deref
    - tmr_start
    - sip_transp_reliable
    - strcmp
    - mem_zalloc
    - hash_joaat_str
    linkageType: ''
    returnType: int
    signature: "int sip_ctrans_request(struct sip_ctrans **ctp, struct sip *sip,\n\t\t
      \      enum sip_transp tp, const struct sa *dst, char *met,\n\t\t       char
      *branch, struct mbuf *mb,\n\t\t       sip_resp_h *resph, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:373,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:380,1
    - Dst: request_copy
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:384,1
    - Dst: sip_ctrans_request
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:388,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:394,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - ct
    argTypes:
    - struct sip_ctrans*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 358
    functionDepth: 7
    functionLinenumber: 358
    functionLinenumberEnd: 398
    functionName: sip_ctrans_cancel
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - str_dup
    - sip_ctrans_request
    - mem_deref
    - tmr_start
    - request_copy
    linkageType: ''
    returnType: int
    signature: int sip_ctrans_cancel(struct sip_ctrans *ct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_listen
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:405,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sip
    - sz
    argTypes:
    - struct sip*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: sip_ctrans_init
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - sip_listen
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: int sip_ctrans_init(struct sip *sip, uint32_t sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: statename
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *statename(enum state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:431,1
    - Dst: statename
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:433,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - tmr_get_expire
    - statename
    linkageType: ''
    returnType: bool
    signature: bool debug_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:445,1
    - Dst: hash_apply
      Src: /src/rtpproxy/external/libre/src/sip/ctrans.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - sip
    argTypes:
    - struct re_printf*
    - struct sip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: sip_ctrans_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/ctrans.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - hash_apply
    linkageType: ''
    returnType: int
    signature: int sip_ctrans_debug(struct re_printf *pf, const struct sip *sip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: internal_transport_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_transport_handler(int err, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udp_handler_set
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:87,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:89,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:90,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: transp_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    - udp_handler_set
    linkageType: ''
    returnType: void
    signature: void transp_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:99,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:100,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:101,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:102,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:103,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:104,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:105,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: conn_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    - list_flush
    linkageType: ''
    returnType: void
    signature: void conn_destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:117,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: qent_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void qent_destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - sip
    - tp
    - af
    - dst
    argTypes:
    - struct sip*
    - enum sip_transp
    - int
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: transp_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - sa_af
    linkageType: ''
    returnType: struct sip_transport
    signature: "struct sip_transport *transp_find(struct sip *sip,\n\t\t\t\t\t       enum
      sip_transp tp,\n\t\t\t\t\t       int af, const struct sa *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:151,1
    - Dst: hash_list
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:151,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:151,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - sip
    - paddr
    - secure
    argTypes:
    - struct sip*
    - struct sa*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: conn_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    - sa_hash
    - list_head
    - hash_list
    linkageType: ''
    returnType: struct sip_conn
    signature: "struct sip_conn *conn_find(struct sip *sip, const struct sa *paddr,\n\t\t\t\t
      \ bool secure)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:174,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:175,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:176,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:177,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:178,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:180,1
    - Dst: struct sip_connqent*::transph
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:192,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:193,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:194,1
    - Dst: sip_keepalive_signal
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - conn
    - err
    argTypes:
    - struct sip_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: conn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 22
    functionsReached:
    - list_unlink
    - mem_deref
    - hash_unlink
    - tmr_cancel
    - list_head
    - struct sip_connqent*::transph
    - sip_keepalive_signal
    linkageType: ''
    returnType: void
    signature: void conn_close(struct sip_conn *conn, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:205,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: conn_tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - conn_close
    linkageType: ''
    returnType: void
    signature: void conn_tmr_handler(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:221,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:223,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:224,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:228,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:230,1
    - Dst: sip_keepalive_wait
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 8
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: conn_keepalive_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - conn_close
    - mem_deref
    - tmr_start
    - tcp_send
    - sip_keepalive_wait
    linkageType: ''
    returnType: void
    signature: void conn_keepalive_handler(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct sip_lsnr*::msgh
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:247,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:252,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:255,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:256,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:259,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - sip
    - msg
    argTypes:
    - struct sip*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 9
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: sip_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - sip_reply
    - re_fprintf
    - struct sip_lsnr*::msgh
    linkageType: ''
    returnType: void
    signature: void sip_recv(struct sip *sip, const struct sip_msg *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:281,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:283,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:285,1
    - Dst: stun_reply
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:288,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:298,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:304,1
    - Dst: sip_msg_decode
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:309,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:311,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:315,1
    - Dst: sip_recv
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:320,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 270
    functionDepth: 10
    functionLinenumber: 270
    functionLinenumberEnd: 323
    functionName: udp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - stun_msg_method
    - sip_recv
    - re_fprintf
    - mem_ref
    - mem_deref
    - stun_msg_class
    - stun_reply
    - sip_msg_decode
    - stun_ctrans_recv
    - stun_msg_decode
    linkageType: ''
    returnType: void
    signature: void udp_recv_handler(const struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:337,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:337,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:337,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:343,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:349,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:357,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:360,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:360,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:362,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:367,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:368,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:368,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:379,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:384,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:387,1
    - Dst: sip_msg_decode
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:393,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:401,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:406,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:408,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:410,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:414,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:420,1
    - Dst: sip_recv
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:425,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:426,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:429,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:433,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:439,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:444,1
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:450,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:451,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 2
    argNames:
    - mb
    - arg
    argTypes:
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 326
    functionDepth: 10
    functionLinenumber: 326
    functionLinenumberEnd: 453
    functionName: tcp_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 1
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - conn_close
    - sip_recv
    - mem_ref
    - mem_deref
    - tmr_start
    - sip_msg_decode
    - pl_u32
    - tcp_send
    - memcmp
    - mbuf_get_left
    - mbuf_alloc
    linkageType: ''
    returnType: void
    signature: void tcp_recv_handler(struct mbuf *mb, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tcp_conn_local_get
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:463,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:468,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:480,1
    - Dst: struct sip_connqent*::transph
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:482,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:484,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 456
    functionDepth: 8
    functionLinenumber: 456
    functionLinenumberEnd: 487
    functionName: tcp_estab_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    - tcp_conn_local_get
    - tcp_send
    - list_head
    - struct sip_connqent*::transph
    linkageType: ''
    returnType: void
    signature: void tcp_estab_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: conn_close
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:494,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - err
    - arg
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: tcp_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - conn_close
    linkageType: ''
    returnType: void
    signature: void tcp_close_handler(int err, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:505,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:511,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:511,1
    - Dst: tcp_accept
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:517,1
    - Dst: tcp_conn_local_get
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:522,1
    - Dst: tls_start_tcp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:528,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:534,1
    - Dst: tcp_reject
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:539,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:540,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - paddr
    - arg
    argTypes:
    - struct sa*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 542
    functionName: tcp_connect_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - hash_append
    - tcp_accept
    - tcp_reject
    - tls_start_tcp
    - mem_deref
    - tmr_start
    - tcp_conn_local_get
    - mem_zalloc
    - sa_hash
    linkageType: ''
    returnType: void
    signature: void tcp_connect_handler(const struct sa *paddr, void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: conn_find
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:553,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:558,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:561,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:565,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:565,1
    - Dst: tcp_connect
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:569,1
    - Dst: tcp_conn_local_get
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:574,1
    - Dst: transp_find
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:582,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:582,1
    - Dst: tls_start_tcp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:588,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:594,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:597,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:604,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:605,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:616,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 7
    argNames:
    - qentp
    - sip
    - secure
    - dst
    - mb
    - transph
    - arg
    argTypes:
    - struct sip_connqent**
    - struct sip*
    - bool
    - struct sa*
    - struct mbuf*
    - sip_transp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 545
    functionDepth: 8
    functionLinenumber: 545
    functionLinenumberEnd: 619
    functionName: conn_send
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - tcp_connect
    - hash_append
    - sa_af
    - mem_ref
    - tls_start_tcp
    - list_append
    - tmr_start
    - mem_deref
    - conn_find
    - tcp_send
    - mem_zalloc
    - tcp_conn_local_get
    - transp_find
    - sa_hash
    linkageType: ''
    returnType: int
    signature: "int conn_send(struct sip_connqent **qentp, struct sip *sip, bool secure,\n\t\t
      \    const struct sa *dst, struct mbuf *mb,\n\t\t     sip_transp_h *transph,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sip
    - sz
    argTypes:
    - struct sip*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: sip_transp_init
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: int sip_transp_init(struct sip *sip, uint32_t sz)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:646,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:649,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:653,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:657,1
    - Dst: udp_listen
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:662,1
    - Dst: udp_local_get
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:667,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:671,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:677,1
    - Dst: tcp_listen
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:682,1
    - Dst: tcp_sock_local_get
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:687,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:695,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:698,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - sip
    - tp
    - laddr
    argTypes:
    - struct sip*
    - enum sip_transp
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 638
    functionDepth: 6
    functionLinenumber: 638
    functionLinenumberEnd: 701
    functionName: sip_transp_add
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - va_arg
    - mem_ref
    - list_append
    - va_start
    - udp_listen
    - mem_deref
    - udp_local_get
    - sa_isset
    - mem_zalloc
    - tcp_sock_local_get
    - tcp_listen
    - va_end
    linkageType: ''
    returnType: int
    signature: "int sip_transp_add(struct sip *sip, enum sip_transp tp,\n\t\t   const
      struct sa *laddr, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:714,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sip
    argTypes:
    - struct sip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: sip_transp_flush
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - hash_flush
    - list_flush
    linkageType: ''
    returnType: void
    signature: void sip_transp_flush(struct sip *sip)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: transp_find
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:735,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:735,1
    - Dst: udp_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:742,1
    - Dst: tcp_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:753,1
    - Dst: conn_send
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:755,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 8
    argNames:
    - qentp
    - sip
    - sock
    - tp
    - dst
    - mb
    - transph
    - arg
    argTypes:
    - struct sip_connqent**
    - struct sip*
    - void*
    - enum sip_transp
    - struct sa*
    - struct mbuf*
    - sip_transp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 719
    functionDepth: 9
    functionLinenumber: 719
    functionLinenumberEnd: 765
    functionName: sip_transp_send
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 2
    functionsReached:
    - sa_af
    - tcp_send
    - transp_find
    - conn_send
    - udp_send
    linkageType: ''
    returnType: int
    signature: "int sip_transp_send(struct sip_connqent **qentp, struct sip *sip,
      void *sock,\n\t\t    enum sip_transp tp, const struct sa *dst, struct mbuf *mb,\n\t\t
      \   sip_transp_h *transph, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transp_find
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:776,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - sip
    - laddr
    - tp
    - dst
    argTypes:
    - struct sip*
    - struct sa*
    - enum sip_transp
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 783
    functionName: sip_transp_laddr
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - transp_find
    - sa_af
    linkageType: ''
    returnType: int
    signature: "int sip_transp_laddr(struct sip *sip, struct sa *laddr, enum sip_transp
      tp,\n\t\t      const struct sa *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transp_find
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sip
    - tp
    - af
    argTypes:
    - struct sip*
    - enum sip_transp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 792
    functionName: sip_transp_supported
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - transp_find
    linkageType: ''
    returnType: bool
    signature: bool sip_transp_supported(struct sip *sip, enum sip_transp tp, int
      af)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - sip
    - tp
    - laddr
    argTypes:
    - struct sip*
    - enum sip_transp
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 826
    functionName: sip_transp_isladdr
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: "bool sip_transp_isladdr(const struct sip *sip, enum sip_transp tp,\n\t\t\tconst
      struct sa *laddr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tp
    argTypes:
    - enum sip_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 845
    functionName: sip_transp_name
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sip_transp_name(enum sip_transp tp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tp
    argTypes:
    - enum sip_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 857
    functionName: sip_transp_srvid
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sip_transp_srvid(enum sip_transp tp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tp
    argTypes:
    - enum sip_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: sip_transp_param
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sip_transp_param(enum sip_transp tp)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tp
    argTypes:
    - enum sip_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 888
    functionName: sip_transp_reliable
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sip_transp_reliable(enum sip_transp tp)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tp
    - port
    argTypes:
    - enum sip_transp
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 911
    functionName: sip_transp_port
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t sip_transp_port(enum sip_transp tp, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:919,1
    - Dst: sip_transp_name
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 914
    functionDepth: 4
    functionLinenumber: 914
    functionLinenumberEnd: 924
    functionName: debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - sip_transp_name
    linkageType: ''
    returnType: bool
    signature: bool debug_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:931,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - sip
    argTypes:
    - struct re_printf*
    - struct sip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: sip_transp_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_apply
    linkageType: ''
    returnType: int
    signature: int sip_transp_debug(struct re_printf *pf, const struct sip *sip)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 959
    functionName: sip_msg_tcpconn
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tcp_conn
    signature: struct tcp_conn *sip_msg_tcpconn(const struct sip_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:971,1
    - Dst: tmr_isrunning
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:973,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:975,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:980,1
    - Dst: sip_keepalive_wait
      Src: /src/rtpproxy/external/libre/src/sip/transp.c:980,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ka
    - conn
    - interval
    argTypes:
    - struct sip_keepalive*
    - struct sip_conn*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 985
    functionName: sip_keepalive_tcp
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/transp.c
    functionUses: 0
    functionsReached:
    - MAX
    - list_append
    - tmr_start
    - sip_keepalive_wait
    - tmr_isrunning
    linkageType: ''
    returnType: int
    signature: "int sip_keepalive_tcp(struct sip_keepalive *ka, struct sip_conn *conn,\n\t\t
      \      uint32_t interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:52,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:53,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:54,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:56,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:63,1
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - msg1
    - msg2
    argTypes:
    - struct sip_msg*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: strans_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 1
    functionsReached:
    - pl_cmp
    linkageType: ''
    returnType: bool
    signature: bool strans_cmp(const struct sip_msg *msg1, const struct sip_msg *msg2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strans_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:78,1
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - strans_cmp
    - pl_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strans_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:93,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: cmp_ack_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - strans_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_ack_handler(struct le *le, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strans_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:108,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: cmp_cancel_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - strans_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_cancel_handler(struct le *le, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:123,1
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:129,1
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:132,1
    - Dst: pl_cmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 139
    functionName: cmp_merge_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - pl_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_merge_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: dummy_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dummy_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:160,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:164,1
    - Dst: MIN
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: retransmit_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - sip_send
    - tmr_start
    - MIN
    linkageType: ''
    returnType: void
    signature: void retransmit_handler(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:173,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:173,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:174,1
    - Dst: sip_transp_reliable
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:186,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:187,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:191,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - sip
    - msg
    argTypes:
    - struct sip*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 201
    functionName: ack_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - list_ledata
    - mem_deref
    - tmr_start
    - sip_transp_reliable
    - tmr_cancel
    - hash_lookup
    linkageType: ''
    returnType: bool
    signature: bool ack_handler(struct sip *sip, const struct sip_msg *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:208,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:208,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:209,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:216,1
    - Dst: struct sip_strans*::cancelh
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sip
    - msg
    argTypes:
    - struct sip*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 9
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: cancel_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - list_ledata
    - struct sip_strans*::cancelh
    - sip_reply
    - hash_lookup
    linkageType: ''
    returnType: bool
    signature: bool cancel_handler(struct sip *sip, const struct sip_msg *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:238,1
    - Dst: ack_handler
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:239,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:241,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:241,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:242,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:249,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:259,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:261,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:261,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:262,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:265,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:270,1
    - Dst: cancel_handler
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 233
    functionDepth: 9
    functionLinenumber: 233
    functionLinenumberEnd: 274
    functionName: request_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - sip_send
    - list_ledata
    - pl_strcmp
    - pl_isset
    - ack_handler
    - sip_reply
    - cancel_handler
    - hash_lookup
    linkageType: ''
    returnType: bool
    signature: bool request_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:297,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:301,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:301,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:304,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:304,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:307,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - stp
    - sip
    - msg
    - cancelh
    - arg
    argTypes:
    - struct sip_strans**
    - struct sip*
    - struct sip_msg*
    - sip_cancel_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 317
    functionName: sip_strans_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - hash_append
    - mem_ref
    - pl_strcmp
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int sip_strans_alloc(struct sip_strans **stp, struct sip *sip,\n\t\t
      \    const struct sip_msg *msg, sip_cancel_h *cancelh,\n\t\t     void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sip_strans_alloc
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:346,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:351,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:352,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:355,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:361,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:370,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:374,1
    - Dst: sip_transp_reliable
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:377,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:378,1
    - Dst: sip_transp_reliable
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:387,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:388,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:393,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 6
    argNames:
    - stp
    - sip
    - msg
    - dst
    - scode
    - mb
    argTypes:
    - struct sip_strans**
    - struct sip*
    - struct sip_msg*
    - struct sa*
    - uint16_t
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 399
    functionName: sip_strans_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 1
    functionsReached:
    - sip_send
    - mem_ref
    - mem_deref
    - sip_strans_alloc
    - tmr_start
    - sip_transp_reliable
    linkageType: ''
    returnType: int
    signature: "int sip_strans_reply(struct sip_strans **stp, struct sip *sip,\n\t\t
      \    const struct sip_msg *msg, const struct sa *dst,\n\t\t     uint16_t scode,
      struct mbuf *mb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_listen
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:406,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:410,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sip
    - sz
    argTypes:
    - struct sip*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: sip_strans_init
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - sip_listen
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: int sip_strans_init(struct sip *sip, uint32_t sz)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: statename
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *statename(enum state state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:437,1
    - Dst: statename
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:439,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 444
    functionName: debug_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - tmr_get_expire
    - statename
    linkageType: ''
    returnType: bool
    signature: bool debug_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:451,1
    - Dst: hash_apply
      Src: /src/rtpproxy/external/libre/src/sip/strans.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - sip
    argTypes:
    - struct re_printf*
    - struct sip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 4
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: sip_strans_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/strans.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - hash_apply
    linkageType: ''
    returnType: int
    signature: int sip_strans_debug(struct re_printf *pf, const struct sip *sip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:29,1
    - Dst: struct sip*::exith
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:31,1
    - Dst: sip_request_close
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:35,1
    - Dst: sip_request_close
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:36,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:38,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:39,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:41,1
    - Dst: hash_clear
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:42,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:43,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:44,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:46,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:47,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:49,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:50,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:52,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:53,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:56,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 58
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 0
    functionsReached:
    - hash_flush
    - sip_request_close
    - mem_ref
    - list_flush
    - mem_deref
    - struct sip*::exith
    - hash_clear
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: lsnr_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void lsnr_destructor(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:96,1
    - Dst: sip_transp_init
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:100,1
    - Dst: sip_ctrans_init
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:104,1
    - Dst: sip_strans_init
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:108,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:112,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:116,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:121,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:126,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:132,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 8
    argNames:
    - sipp
    - dnsc
    - ctsz
    - stsz
    - tcsz
    - software
    - exith
    - arg
    argTypes:
    - struct sip**
    - struct dnsc*
    - uint32_t
    - uint32_t
    - uint32_t
    - char*
    - sip_exit_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 137
    functionName: sip_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 0
    functionsReached:
    - str_dup
    - hash_alloc
    - mem_ref
    - sip_ctrans_init
    - mem_deref
    - sip_strans_init
    - stun_alloc
    - mem_zalloc
    - sip_transp_init
    linkageType: ''
    returnType: int
    signature: "int sip_alloc(struct sip **sipp, struct dnsc *dnsc, uint32_t ctsz,\n\t
      \     uint32_t stsz, uint32_t tcsz, const char *software,\n\t      sip_exit_h
      *exith, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_close
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:152,1
    - Dst: sip_request_close
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:153,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sip
    - force
    argTypes:
    - struct sip*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: sip_close
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sip_request_close
    linkageType: ''
    returnType: void
    signature: void sip_close(struct sip *sip, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_transp_send
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sip
    - sock
    - tp
    - dst
    - mb
    argTypes:
    - struct sip*
    - void*
    - enum sip_transp
    - struct sa*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 10
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: sip_send
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 5
    functionsReached:
    - sip_transp_send
    linkageType: ''
    returnType: int
    signature: "int sip_send(struct sip *sip, void *sock, enum sip_transp tp,\n\t
      \    const struct sa *dst, struct mbuf *mb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:199,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - lsnrp
    - sip
    - req
    - msgh
    - arg
    argTypes:
    - struct sip_lsnr**
    - struct sip*
    - bool
    - sip_msg_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 215
    functionName: sip_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 2
    functionsReached:
    - list_append
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int sip_listen(struct sip_lsnr **lsnrp, struct sip *sip, bool req,\n\t
      \      sip_msg_h *msgh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_transp_debug
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:233,1
    - Dst: sip_ctrans_debug
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:234,1
    - Dst: sip_strans_debug
      Src: /src/rtpproxy/external/libre/src/sip/sip.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - sip
    argTypes:
    - struct re_printf*
    - struct sip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: sip_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/sip.c
    functionUses: 0
    functionsReached:
    - sip_transp_debug
    - sip_strans_debug
    - sip_ctrans_debug
    linkageType: ''
    returnType: int
    signature: int sip_debug(struct re_printf *pf, const struct sip *sip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:50,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:51,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:52,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:53,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:54,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_keepalive_signal
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:61,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:62,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:63,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:64,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:65,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - uc
    - err
    argTypes:
    - struct sip_udpconn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: udpconn_close
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    - sip_keepalive_signal
    linkageType: ''
    returnType: void
    signature: void udpconn_close(struct sip_udpconn *uc, int err)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:82,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:84,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:91,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:94,1
    - Dst: udpconn_close
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:101,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:102,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:105,1
    - Dst: sip_keepalive_wait
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: stun_response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - tmr_start
    - udpconn_close
    - sa_isset
    - sa_cmp
    - sip_keepalive_wait
    - stun_msg_attr
    linkageType: ''
    returnType: void
    signature: "void stun_response_handler(int err, uint16_t scode, const char *reason,\n\t\t\t\t
      \ const struct stun_msg *msg, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: udpconn_close
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:118,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:119,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:123,1
    - Dst: udpconn_close
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:128,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: udpconn_keepalive_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - udpconn_close
    - stun_request
    linkageType: ''
    returnType: void
    signature: void udpconn_keepalive_handler(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:139,1
    - Dst: hash_list
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:139,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:139,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - sip
    - us
    - paddr
    argTypes:
    - struct sip*
    - struct udp_sock*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: udpconn_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    - sa_hash
    - list_head
    - hash_list
    linkageType: ''
    returnType: struct sip_udpconn
    signature: "struct sip_udpconn *udpconn_find(struct sip *sip, struct udp_sock
      *us,\n\t\t\t\t\tconst struct sa *paddr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: udpconn_find
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:167,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:169,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:173,1
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:173,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:177,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:178,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:182,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - ka
    - sip
    - us
    - paddr
    - interval
    argTypes:
    - struct sip_keepalive*
    - struct sip*
    - struct udp_sock*
    - struct sa*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: sip_keepalive_udp
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    functionUses: 0
    functionsReached:
    - hash_append
    - mem_ref
    - list_append
    - tmr_start
    - udpconn_find
    - mem_zalloc
    - sa_hash
    linkageType: ''
    returnType: int
    signature: "int sip_keepalive_udp(struct sip_keepalive *ka, struct sip *sip,\n\t\t
      \      struct udp_sock *us, const struct sa *paddr,\n\t\t       uint32_t interval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive.c
    functionUses: 0
    functionsReached:
    - list_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:35,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:45,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:46,1
    - Dst: kah
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - kal
    - err
    argTypes:
    - struct list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: sip_keepalive_signal
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive.c
    functionUses: 2
    functionsReached:
    - kah
    - list_unlink
    - mem_deref
    - list_head
    linkageType: ''
    returnType: void
    signature: void sip_keepalive_signal(struct list *kal, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interval
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: sip_keepalive_wait
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive.c
    functionUses: 3
    functionsReached:
    - rand_u16
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t sip_keepalive_wait(uint32_t interval)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:81,1
    - Dst: sip_keepalive_udp
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:91,1
    - Dst: sip_keepalive_tcp
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:97,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/keepalive.c:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - kap
    - sip
    - msg
    - interval
    - kah
    - arg
    argTypes:
    - struct sip_keepalive**
    - struct sip*
    - struct sip_msg*
    - uint32_t
    - sip_keepalive_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 115
    functionName: sip_keepalive_start
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/keepalive.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - sip_keepalive_tcp
    - mem_zalloc
    - sip_keepalive_udp
    linkageType: ''
    returnType: int
    signature: "int sip_keepalive_start(struct sip_keepalive **kap, struct sip *sip,\n\t\t\tconst
      struct sip_msg *msg, uint32_t interval,\n\t\t\tsip_keepalive_h *kah, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/cseq.c:32,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sip/cseq.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cseq
    - pl
    argTypes:
    - struct sip_cseq*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: sip_cseq_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/cseq.c
    functionUses: 0
    functionsReached:
    - pl_u32
    - re_regex
    linkageType: ''
    returnType: int
    signature: int sip_cseq_decode(struct sip_cseq *cseq, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:32,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: hdr_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void hdr_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:41,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:42,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:43,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:44,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - hash_flush
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: hash_joaat_ci
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:66,1
    - Dst: tolower
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 1
    argNames:
    - name
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 95
    functionName: hdr_hash
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 1
    functionsReached:
    - hash_joaat_ci
    - tolower
    linkageType: ''
    returnType: enum sip_hdrid
    signature: enum sip_hdrid hdr_hash(const struct pl *name)
  - BBCount: 44
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 1
    argNames:
    - id
    argTypes:
    - enum sip_hdrid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 149
    functionName: hdr_comma_separated
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hdr_comma_separated(enum sip_hdrid id)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:159,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:165,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:175,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:175,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:176,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:176,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:181,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:181,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:183,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:183,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:191,1
    - Dst: sip_via_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:194,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:198,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:202,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:207,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:212,1
    - Dst: sip_cseq_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:222,1
    - Dst: msg_ctype_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:230,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 7
    argNames:
    - msg
    - name
    - id
    - p
    - l
    - atomic
    - line
    argTypes:
    - struct sip_msg*
    - struct pl*
    - enum sip_hdrid
    - char*
    - ssize_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 249
    functionName: hdr_add
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 1
    functionsReached:
    - hash_append
    - MAX
    - mem_ref
    - sip_via_decode
    - sip_cseq_decode
    - list_append
    - mem_deref
    - pl_isset
    - mem_zalloc
    - sip_addr_decode
    - msg_ctype_decode
    - msg_param_decode
    linkageType: ''
    returnType: int
    signature: "int hdr_add(struct sip_msg *msg, const struct pl *name,\n\t\t\t  enum
      sip_hdrid id, const char *p, ssize_t l,\n\t\t\t  bool atomic, bool line)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:274,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:275,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:277,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:278,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:281,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:285,1
    - Dst: rand_u64
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:289,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:290,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:291,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:299,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:306,1
    - Dst: hdr_add
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:355,1
    - Dst: hdr_add
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:367,1
    - Dst: MAX
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:398,1
    - Dst: hdr_hash
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:404,1
    - Dst: hdr_comma_separated
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:405,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:430,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 131
    argCount: 2
    argNames:
    - msgp
    - mb
    argTypes:
    - struct sip_msg**
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 437
    functionName: sip_msg_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 3
    functionsReached:
    - mbuf_buf
    - hdr_hash
    - hash_alloc
    - MAX
    - mem_ref
    - uri_decode
    - pl_strcmp
    - mem_deref
    - hdr_add
    - pl_u32
    - mem_zalloc
    - hdr_comma_separated
    - re_regex
    - rand_u64
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int sip_msg_decode(struct sip_msg **msgp, struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - id
    argTypes:
    - struct sip_msg*
    - enum sip_hdrid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: sip_msg_hdr
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 2
    functionsReached:
    - sip_msg_hdr_apply
    linkageType: ''
    returnType: struct sip_hdr
    signature: struct sip_hdr *sip_msg_hdr(const struct sip_msg *msg, enum sip_hdrid
      id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hash_list
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:475,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:477,1
    - Dst: list_tail
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:477,1
    - Dst: h
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - msg
    - fwd
    - id
    - h
    - arg
    argTypes:
    - struct sip_msg*
    - bool
    - enum sip_hdrid
    - sip_hdr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 492
    functionName: sip_msg_hdr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 3
    functionsReached:
    - h
    - list_head
    - hash_list
    - list_tail
    linkageType: ''
    returnType: struct sip_hdr
    signature: "struct sip_hdr *sip_msg_hdr_apply(const struct sip_msg *msg,\n\t\t\t\t\tbool
      fwd, enum sip_hdrid id,\n\t\t\t\t\tsip_hdr_h *h, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_xhdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - struct sip_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: sip_msg_xhdr
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - sip_msg_xhdr_apply
    linkageType: ''
    returnType: struct sip_hdr
    signature: struct sip_hdr *sip_msg_xhdr(const struct sip_msg *msg, const char
      *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:531,1
    - Dst: hash_list
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:533,1
    - Dst: hdr_hash
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:533,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:535,1
    - Dst: list_tail
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:535,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:542,1
    - Dst: h
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - msg
    - fwd
    - name
    - h
    - arg
    argTypes:
    - struct sip_msg*
    - bool
    - char*
    - sip_hdr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: sip_msg_xhdr_apply
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 1
    functionsReached:
    - pl_casecmp
    - hdr_hash
    - hash_list
    - list_tail
    - pl_set_str
    - list_head
    - h
    linkageType: ''
    returnType: struct sip_hdr
    signature: "struct sip_hdr *sip_msg_xhdr_apply(const struct sip_msg *msg,\n\t\t\t\t\t
      bool fwd, const char *name,\n\t\t\t\t\t sip_hdr_h *h, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hdr
    - msg
    - arg
    argTypes:
    - struct sip_hdr*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 563
    functionName: count_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool count_handler(const struct sip_hdr *hdr, const struct sip_msg
      *msg,\n\t\t\t  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - id
    argTypes:
    - struct sip_msg*
    - enum sip_hdrid
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 581
    functionName: sip_msg_hdr_count
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - sip_msg_hdr_apply
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sip_msg_hdr_count(const struct sip_msg *msg, enum sip_hdrid
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_xhdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - struct sip_msg*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: sip_msg_xhdr_count
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - sip_msg_xhdr_apply
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sip_msg_xhdr_count(const struct sip_msg *msg, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hdr
    - msg
    - arg
    argTypes:
    - struct sip_hdr*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: value_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: bool
    signature: "bool value_handler(const struct sip_hdr *hdr, const struct sip_msg
      *msg,\n\t\t\t  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - id
    - value
    argTypes:
    - struct sip_msg*
    - enum sip_hdrid
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: sip_msg_hdr_has_value
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 1
    functionsReached:
    - sip_msg_hdr_apply
    linkageType: ''
    returnType: bool
    signature: "bool sip_msg_hdr_has_value(const struct sip_msg *msg, enum sip_hdrid
      id,\n\t\t\t   const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_xhdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - name
    - value
    argTypes:
    - struct sip_msg*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: sip_msg_xhdr_has_value
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - sip_msg_xhdr_apply
    linkageType: ''
    returnType: bool
    signature: "bool sip_msg_xhdr_has_value(const struct sip_msg *msg, const char
      *name,\n\t\t\t    const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:660,1
    - Dst: hash_list
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:660,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:667,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:672,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/sip/msg.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 650
    functionDepth: 6
    functionLinenumber: 650
    functionLinenumberEnd: 682
    functionName: sip_msg_dump
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/msg.c
    functionUses: 0
    functionsReached:
    - re_printf
    - list_head
    - hash_list
    linkageType: ''
    returnType: void
    signature: void sip_msg_dump(const struct sip_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:52,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - strp
    - val
    argTypes:
    - char**
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: x64_strdup
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mem_alloc
    - re_snprintf
    linkageType: ''
    returnType: int
    signature: int x64_strdup(char **strp, uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:68,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:69,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:70,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:71,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rand_u64
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:94,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:105,1
    - Dst: hash_fast_str
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:109,1
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:110,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:112,1
    - Dst: x64_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:116,1
    - Dst: rand_u64
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:116,1
    - Dst: x64_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:120,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:124,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:131,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:135,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:137,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:147,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:149,1
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:153,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:154,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:159,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 7
    argNames:
    - dlgp
    - uri
    - to_uri
    - from_name
    - from_uri
    - routev
    - routec
    argTypes:
    - struct sip_dialog**
    - char*
    - char*
    - char*
    - char*
    - char*[]
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 164
    functionName: sip_dialog_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 1
    functionsReached:
    - hash_fast_str
    - str_dup
    - mbuf_buf
    - uri_decode
    - mem_deref
    - x64_strdup
    - mbuf_printf
    - pl_set_str
    - mem_zalloc
    - sip_addr_decode
    - rand_u16
    - rand_u64
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sip_dialog_alloc(struct sip_dialog **dlgp,\n\t\t     const char
      *uri, const char *to_uri,\n\t\t     const char *from_name, const char *from_uri,\n\t\t
      \    const char *routev[], uint32_t routec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hdr
    - msg
    - arg
    argTypes:
    - struct sip_hdr*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: record_route_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mbuf_printf
    linkageType: ''
    returnType: bool
    signature: "bool record_route_handler(const struct sip_hdr *hdr,\n\t\t\t\t const
      struct sip_msg *msg,\n\t\t\t\t void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:204,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:209,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:212,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:216,1
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:217,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:220,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:224,1
    - Dst: x64_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:228,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:232,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:236,1
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:245,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:247,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:248,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:256,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:258,1
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:262,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:263,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:268,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - dlgp
    - msg
    argTypes:
    - struct sip_dialog**
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 192
    functionDepth: 6
    functionLinenumber: 192
    functionLinenumberEnd: 273
    functionName: sip_dialog_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - pl_strdup
    - uri_decode
    - mem_deref
    - x64_strdup
    - mbuf_printf
    - pl_set_str
    - sip_msg_hdr_apply
    - mem_zalloc
    - rand_u32
    - rand_u16
    - sip_msg_hdr
    - sip_addr_decode
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int sip_dialog_accept(struct sip_dialog **dlgp, const struct sip_msg
      *msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:296,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:301,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:304,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:308,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:312,1
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:318,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:320,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:324,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:324,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:325,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:334,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:336,1
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:345,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:346,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:353,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:354,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:356,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:357,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:358,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:363,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:364,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:365,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - dlg
    - msg
    argTypes:
    - struct sip_dialog*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 284
    functionDepth: 5
    functionLinenumber: 284
    functionLinenumberEnd: 368
    functionName: sip_dialog_create
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - pl_strdup
    - uri_decode
    - mem_ref
    - mem_deref
    - mbuf_printf
    - pl_set_str
    - sip_addr_decode
    - sip_msg_hdr
    - sip_msg_hdr_apply
    - mbuf_get_left
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: int sip_dialog_create(struct sip_dialog *dlg, const struct sip_msg
      *msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:393,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:398,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:401,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:405,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:406,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:411,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:415,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:419,1
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:428,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:430,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:434,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:434,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:435,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:444,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:446,1
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:450,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:451,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:456,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - dlgp
    - odlg
    - msg
    argTypes:
    - struct sip_dialog**
    - struct sip_dialog*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 461
    functionName: sip_dialog_fork
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - pl_strdup
    - mem_ref
    - uri_decode
    - mem_deref
    - mbuf_printf
    - pl_set_str
    - mem_zalloc
    - sip_addr_decode
    - sip_msg_hdr
    - sip_msg_hdr_apply
    - mbuf_get_left
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sip_dialog_fork(struct sip_dialog **dlgp, struct sip_dialog *odlg,\n\t\t
      \   const struct sip_msg *msg)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:482,1
    - Dst: sip_addr_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:486,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:489,1
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:498,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:499,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:506,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:507,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - dlg
    - msg
    argTypes:
    - struct sip_dialog*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 513
    functionName: sip_dialog_update
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - pl_strdup
    - uri_decode
    - mem_ref
    - mem_deref
    - pl_set_str
    - sip_addr_decode
    - sip_msg_hdr
    linkageType: ''
    returnType: int
    signature: int sip_dialog_update(struct sip_dialog *dlg, const struct sip_msg
      *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dlg
    - msg
    argTypes:
    - struct sip_dialog*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: sip_dialog_rseq_valid
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sip_dialog_rseq_valid(struct sip_dialog *dlg, const struct sip_msg
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:546,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:546,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:546,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:547,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:548,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - mb
    - dlg
    - cseq
    - met
    argTypes:
    - struct mbuf*
    - struct sip_dialog*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 538
    functionDepth: 5
    functionLinenumber: 538
    functionLinenumberEnd: 552
    functionName: sip_dialog_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - mbuf_write_mem
    - mbuf_buf
    - mbuf_printf
    - strcmp
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int sip_dialog_encode(struct mbuf *mb, struct sip_dialog *dlg, uint32_t
      cseq,\n\t\t      const char *met)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dlg
    argTypes:
    - struct sip_dialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: sip_dialog_uri
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sip_dialog_uri(const struct sip_dialog *dlg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dlg
    argTypes:
    - struct sip_dialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: sip_dialog_route
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct uri
    signature: struct uri *sip_dialog_route(const struct sip_dialog *dlg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dlg
    argTypes:
    - struct sip_dialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: sip_dialog_hash
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sip_dialog_hash(const struct sip_dialog *dlg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dlg
    argTypes:
    - struct sip_dialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: sip_dialog_callid
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sip_dialog_callid(const struct sip_dialog *dlg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dlg
    argTypes:
    - struct sip_dialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: sip_dialog_lseq
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sip_dialog_lseq(const struct sip_dialog *dlg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dlg
    argTypes:
    - struct sip_dialog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: sip_dialog_established
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sip_dialog_established(const struct sip_dialog *dlg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:625,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:628,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - dlg
    - msg
    argTypes:
    - struct sip_dialog*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 635
    functionName: sip_dialog_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    linkageType: ''
    returnType: bool
    signature: bool sip_dialog_cmp(const struct sip_dialog *dlg, const struct sip_msg
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:652,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sip/dialog.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dlg
    - msg
    argTypes:
    - struct sip_dialog*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: sip_dialog_cmp_half
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/dialog.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    linkageType: ''
    returnType: bool
    signature: "bool sip_dialog_cmp_half(const struct sip_dialog *dlg,\n\t\t\t const
      struct sip_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user
    - pass
    - rlm
    - arg
    argTypes:
    - char**
    - char**
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: dummy_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy_handler(char **user, char **pass, const char *rlm, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:60,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:61,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:62,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:63,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:64,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:65,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: realm_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void realm_destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:75,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: auth_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void auth_destructor(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:87,1
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:92,1
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:97,1
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - digest
    - realm
    - met
    - uri
    - cnonce
    argTypes:
    - uint8_t*
    - struct realm*
    - char*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: mkdigest
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached:
    - md5_printf
    linkageType: ''
    returnType: int
    signature: "int mkdigest(uint8_t *digest, const struct realm *realm,\n\t\t    const
      char *met, const char *uri, uint64_t cnonce)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: httpauth_digest_challenge_decode
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:133,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:138,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:138,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:143,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:143,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:146,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:152,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:154,1
    - Dst: struct sip_auth*::authh
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:158,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:164,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:164,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:169,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:170,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:171,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:177,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:179,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:180,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:182,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:183,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:187,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 3
    argNames:
    - hdr
    - msg
    - arg
    argTypes:
    - struct sip_hdr*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: auth_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached:
    - pl_strdup
    - pl_strcasecmp
    - list_apply
    - list_ledata
    - list_append
    - mem_deref
    - pl_isset
    - mem_zalloc
    - struct sip_auth*::authh
    - httpauth_digest_challenge_decode
    linkageType: ''
    returnType: bool
    signature: "bool auth_handler(const struct sip_hdr *hdr, const struct sip_msg
      *msg,\n\t\t\t void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:209,1
    - Dst: sip_msg_hdr_apply
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - auth
    - msg
    argTypes:
    - struct sip_auth*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: sip_auth_authenticate
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 1
    functionsReached:
    - sip_msg_hdr_apply
    linkageType: ''
    returnType: int
    signature: int sip_auth_authenticate(struct sip_auth *auth, const struct sip_msg
      *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rand_u64
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:232,1
    - Dst: mkdigest
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:236,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:243,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:247,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:254,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:255,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:256,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:257,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:258,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:262,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:266,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:267,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:268,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:273,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - mb
    - auth
    - met
    - uri
    argTypes:
    - struct mbuf*
    - struct sip_auth*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 279
    functionName: sip_auth_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 0
    functionsReached:
    - mbuf_write_str
    - rand_u64
    - mkdigest
    - mbuf_printf
    linkageType: ''
    returnType: int
    signature: "int sip_auth_encode(struct mbuf *mb, struct sip_auth *auth, const
      char *met,\n\t\t    const char *uri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:300,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - authp
    - authh
    - arg
    - ref
    argTypes:
    - struct sip_auth**
    - sip_auth_h*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: sip_auth_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 1
    functionsReached:
    - mem_zalloc
    - mem_ref
    linkageType: ''
    returnType: int
    signature: "int sip_auth_alloc(struct sip_auth **authp, sip_auth_h *authh,\n\t\t
      \  void *arg, bool ref)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/auth.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - auth
    argTypes:
    - struct sip_auth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: sip_auth_reset
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/auth.c
    functionUses: 1
    functionsReached:
    - list_flush
    linkageType: ''
    returnType: void
    signature: void sip_auth_reset(struct sip_auth *auth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sip/addr.c:32,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/addr.c:34,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sip/addr.c:44,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sip/addr.c:46,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/addr.c:51,1
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/sip/addr.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - addr
    - pl
    argTypes:
    - struct sip_addr*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 56
    functionName: sip_addr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/addr.c
    functionUses: 7
    functionsReached:
    - memset
    - re_regex
    - uri_decode
    linkageType: ''
    returnType: int
    signature: int sip_addr_decode(struct sip_addr *addr, const struct pl *pl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/sip/request.c:61,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - char**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: str_ldup
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - pl_strdup
    - str_len
    linkageType: ''
    returnType: int
    signature: int str_ldup(char **dst, const char *src, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_cancel
      Src: /src/rtpproxy/external/libre/src/sip/request.c:77,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:77,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/request.c:81,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/request.c:82,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sip/request.c:83,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:84,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:85,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:86,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:87,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:88,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:89,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:90,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - mem_ref
    - list_flush
    - list_unlink
    - mem_deref
    - sip_request_cancel
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:103,1
    - Dst: struct sip_request*::resph
      Src: /src/rtpproxy/external/libre/src/sip/request.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - req
    - err
    - msg
    argTypes:
    - struct sip_request*
    - int
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 3
    functionsReached:
    - list_unlink
    - struct sip_request*::resph
    linkageType: ''
    returnType: void
    signature: "void terminate(struct sip_request *req, int err,\n\t\t      const
      struct sip_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:118,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:119,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:120,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/request.c:122,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - terminate
    linkageType: ''
    returnType: bool
    signature: bool close_handler(struct le *le, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sip_ctrans_cancel
      Src: /src/rtpproxy/external/libre/src/sip/request.c:137,1
    - Dst: struct sip_request*::resph
      Src: /src/rtpproxy/external/libre/src/sip/request.c:141,1
    - Dst: request_next
      Src: /src/rtpproxy/external/libre/src/sip/request.c:151,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/request.c:156,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - terminate
    - sip_ctrans_cancel
    - request_next
    - struct sip_request*::resph
    linkageType: ''
    returnType: void
    signature: void response_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_alloc
      Src: /src/rtpproxy/external/libre/src/sip/request.c:171,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/request.c:172,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:177,1
    - Dst: rand_u64
      Src: /src/rtpproxy/external/libre/src/sip/request.c:177,1
    - Dst: sip_transp_laddr
      Src: /src/rtpproxy/external/libre/src/sip/request.c:179,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:183,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:184,1
    - Dst: sip_transp_name
      Src: /src/rtpproxy/external/libre/src/sip/request.c:185,1
    - Dst: struct sip_request*::sendh
      Src: /src/rtpproxy/external/libre/src/sip/request.c:186,1
    - Dst: mbuf_write_mem
      Src: /src/rtpproxy/external/libre/src/sip/request.c:187,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:187,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sip/request.c:187,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sip/request.c:194,1
    - Dst: sip_ctrans_request
      Src: /src/rtpproxy/external/libre/src/sip/request.c:196,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:202,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - req
    - tp
    - dst
    argTypes:
    - struct sip_request*
    - enum sip_transp
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 161
    functionDepth: 11
    functionLinenumber: 161
    functionLinenumberEnd: 206
    functionName: request
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 38
    functionsReached:
    - mem_alloc
    - mbuf_write_mem
    - mbuf_buf
    - mbuf_get_left
    - sip_send
    - sip_ctrans_request
    - sip_transp_laddr
    - mem_deref
    - mbuf_printf
    - struct sip_request*::sendh
    - sip_transp_name
    - rand_u64
    - re_snprintf
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int request(struct sip_request *req, enum sip_transp tp,\n\t\t   const
      struct sa *dst)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/request.c:216,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sip/request.c:218,1
    - Dst: dns_rrlist_apply2
      Src: /src/rtpproxy/external/libre/src/sip/request.c:224,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:228,1
    - Dst: dns_rrlist_sort_addr
      Src: /src/rtpproxy/external/libre/src/sip/request.c:231,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:232,1
    - Dst: addr_lookup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:236,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:237,1
    - Dst: sa_set_in
      Src: /src/rtpproxy/external/libre/src/sip/request.c:245,1
    - Dst: sa_set_in6
      Src: /src/rtpproxy/external/libre/src/sip/request.c:249,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:256,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:257,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sip/request.c:259,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/request.c:266,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sip_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 271
    functionName: request_next
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 1
    functionsReached:
    - list_ledata
    - list_unlink
    - mem_deref
    - dns_rrlist_apply2
    - dns_rrlist_sort_addr
    - addr_lookup
    - terminate
    - request
    - sa_set_in6
    - sa_set_in
    linkageType: ''
    returnType: int
    signature: int request_next(struct sip_request *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sip
    - tp
    argTypes:
    - struct sip*
    - enum sip_transp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: transp_next
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - sip_transp_supported
    linkageType: ''
    returnType: bool
    signature: bool transp_next(struct sip *sip, enum sip_transp *tp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sip
    - tp
    argTypes:
    - struct sip*
    - enum sip_transp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: transp_next_srv
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - sip_transp_supported
    linkageType: ''
    returnType: bool
    signature: bool transp_next_srv(struct sip *sip, enum sip_transp *tp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/request.c:320,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rr
    - arg
    argTypes:
    - struct dnsrr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: rr_append_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - list_append
    - mem_ref
    linkageType: ''
    returnType: bool
    signature: bool rr_append_handler(struct dnsrr *rr, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:335,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:338,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/request.c:339,1
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:344,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:347,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/request.c:348,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sip/request.c:353,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/request.c:354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - rr
    - arg
    argTypes:
    - struct dnsrr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 359
    functionName: rr_cache_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - list_append
    - sip_transp_supported
    linkageType: ''
    returnType: bool
    signature: bool rr_cache_handler(struct dnsrr *rr, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:370,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:372,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:374,1
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - rr
    - arg
    argTypes:
    - struct dnsrr*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 386
    functionName: rr_naptr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - str_casecmp
    - sip_transp_supported
    linkageType: ''
    returnType: bool
    signature: bool rr_naptr_handler(struct dnsrr *rr, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_sort
      Src: /src/rtpproxy/external/libre/src/sip/request.c:397,1
    - Dst: dns_rrlist_apply
      Src: /src/rtpproxy/external/libre/src/sip/request.c:399,1
    - Dst: transp_next_srv
      Src: /src/rtpproxy/external/libre/src/sip/request.c:403,1
    - Dst: srv_lookup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:408,1
    - Dst: dns_rrlist_apply
      Src: /src/rtpproxy/external/libre/src/sip/request.c:415,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/sip/request.c:419,1
    - Dst: dns_rrlist_sort
      Src: /src/rtpproxy/external/libre/src/sip/request.c:428,1
    - Dst: dns_rrlist_apply
      Src: /src/rtpproxy/external/libre/src/sip/request.c:430,1
    - Dst: request_next
      Src: /src/rtpproxy/external/libre/src/sip/request.c:433,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/request.c:440,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 389
    functionDepth: 6
    functionLinenumber: 389
    functionLinenumberEnd: 442
    functionName: naptr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - dns_rrlist_apply
    - dns_rrlist_sort
    - mem_deref
    - terminate
    - transp_next_srv
    - request_next
    - dnsc_query
    - srv_lookup
    linkageType: ''
    returnType: void
    signature: "void naptr_handler(int err, const struct dnshdr *hdr, struct list
      *ansl,\n\t\t\t  struct list *authl, struct list *addl, void *arg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_apply
      Src: /src/rtpproxy/external/libre/src/sip/request.c:452,1
    - Dst: transp_next_srv
      Src: /src/rtpproxy/external/libre/src/sip/request.c:457,1
    - Dst: srv_lookup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:459,1
    - Dst: transp_next
      Src: /src/rtpproxy/external/libre/src/sip/request.c:467,1
    - Dst: sip_transp_port
      Src: /src/rtpproxy/external/libre/src/sip/request.c:473,1
    - Dst: addr_lookup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:475,1
    - Dst: dns_rrlist_sort
      Src: /src/rtpproxy/external/libre/src/sip/request.c:482,1
    - Dst: dns_rrlist_apply
      Src: /src/rtpproxy/external/libre/src/sip/request.c:484,1
    - Dst: request_next
      Src: /src/rtpproxy/external/libre/src/sip/request.c:487,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/request.c:494,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:495,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 445
    functionDepth: 4
    functionLinenumber: 445
    functionLinenumberEnd: 496
    functionName: srv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - dns_rrlist_apply
    - addr_lookup
    - dns_rrlist_sort
    - terminate
    - mem_deref
    - transp_next
    - sip_transp_port
    - transp_next_srv
    - request_next
    - srv_lookup
    linkageType: ''
    returnType: void
    signature: "void srv_handler(int err, const struct dnshdr *hdr, struct list *ansl,\n\t\t\t
      struct list *authl, struct list *addl, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rrlist_apply2
      Src: /src/rtpproxy/external/libre/src/sip/request.c:507,1
    - Dst: dns_rrlist_sort_addr
      Src: /src/rtpproxy/external/libre/src/sip/request.c:519,1
    - Dst: request_next
      Src: /src/rtpproxy/external/libre/src/sip/request.c:521,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sip/request.c:528,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:529,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - err
    - hdr
    - ansl
    - authl
    - addl
    - arg
    argTypes:
    - int
    - struct dnshdr*
    - struct list*
    - struct list*
    - struct list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: addr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - dns_rrlist_sort_addr
    - mem_deref
    - dns_rrlist_apply2
    - terminate
    - request_next
    linkageType: ''
    returnType: void
    signature: "void addr_handler(int err, const struct dnshdr *hdr, struct list *ansl,\n\t\t\t
      struct list *authl, struct list *addl, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:537,1
    - Dst: sip_transp_srvid
      Src: /src/rtpproxy/external/libre/src/sip/request.c:538,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/sip/request.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - req
    - domain
    argTypes:
    - struct sip_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: srv_lookup
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 2
    functionsReached:
    - dnsc_query
    - sip_transp_srvid
    - re_snprintf
    linkageType: ''
    returnType: int
    signature: int srv_lookup(struct sip_request *req, const char *domain)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:550,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/sip/request.c:552,1
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:560,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/sip/request.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - req
    - name
    argTypes:
    - struct sip_request*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 546
    functionDepth: 6
    functionLinenumber: 546
    functionLinenumberEnd: 574
    functionName: addr_lookup
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 2
    functionsReached:
    - dnsc_query
    - sip_transp_supported
    linkageType: ''
    returnType: int
    signature: int addr_lookup(struct sip_request *req, const char *name)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:609,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sip/request.c:612,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sip/request.c:616,1
    - Dst: str_ldup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:618,1
    - Dst: str_ldup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:622,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sip/request.c:626,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:629,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:635,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sip/request.c:641,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:643,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:645,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sip/request.c:647,1
    - Dst: sip_transp_supported
      Src: /src/rtpproxy/external/libre/src/sip/request.c:654,1
    - Dst: transp_next
      Src: /src/rtpproxy/external/libre/src/sip/request.c:663,1
    - Dst: sa_set_str
      Src: /src/rtpproxy/external/libre/src/sip/request.c:671,1
    - Dst: sip_transp_port
      Src: /src/rtpproxy/external/libre/src/sip/request.c:672,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sip/request.c:674,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:676,1
    - Dst: sip_transp_port
      Src: /src/rtpproxy/external/libre/src/sip/request.c:682,1
    - Dst: addr_lookup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:683,1
    - Dst: srv_lookup
      Src: /src/rtpproxy/external/libre/src/sip/request.c:687,1
    - Dst: dnsc_query
      Src: /src/rtpproxy/external/libre/src/sip/request.c:690,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:697,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 13
    argNames:
    - reqp
    - sip
    - stateful
    - met
    - metl
    - uri
    - uril
    - route
    - mb
    - sortkey
    - sendh
    - resph
    - arg
    argTypes:
    - struct sip_request**
    - struct sip*
    - bool
    - char*
    - int
    - char*
    - int
    - struct uri*
    - struct mbuf*
    - size_t
    - sip_send_h*
    - sip_resp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 596
    functionDepth: 7
    functionLinenumber: 596
    functionLinenumberEnd: 704
    functionName: sip_request
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - srv_lookup
    - pl_strdup
    - pl_strcasecmp
    - mem_ref
    - sip_transp_supported
    - list_append
    - mem_deref
    - addr_lookup
    - transp_next
    - sip_transp_port
    - str_ldup
    - mem_zalloc
    - request
    - sa_set_str
    - dnsc_query
    - msg_param_decode
    linkageType: ''
    returnType: int
    signature: "int sip_request(struct sip_request **reqp, struct sip *sip, bool stateful,\n\t\tconst
      char *met, int metl, const char *uri, int uril,\n\t\tconst struct uri *route,
      struct mbuf *mb, size_t sortkey,\n\t\tsip_send_h *sendh, sip_resp_h *resph,
      void *arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pl_set_str
      Src: /src/rtpproxy/external/libre/src/sip/request.c:740,1
    - Dst: uri_decode
      Src: /src/rtpproxy/external/libre/src/sip/request.c:742,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/request.c:749,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/request.c:753,1
    - Dst: sip_auth_encode
      Src: /src/rtpproxy/external/libre/src/sip/request.c:756,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sip/request.c:761,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:762,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sip/request.c:763,1
    - Dst: sip_request
      Src: /src/rtpproxy/external/libre/src/sip/request.c:770,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:776,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 11
    argNames:
    - reqp
    - sip
    - stateful
    - met
    - uri
    - route
    - auth
    - sendh
    - resph
    - arg
    - fmt
    argTypes:
    - struct sip_request**
    - struct sip*
    - bool
    - char*
    - char*
    - struct uri*
    - struct sip_auth*
    - sip_send_h*
    - sip_resp_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 724
    functionDepth: 8
    functionLinenumber: 724
    functionLinenumberEnd: 779
    functionName: sip_requestf
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 0
    functionsReached:
    - uri_decode
    - sip_auth_encode
    - mbuf_vprintf
    - mbuf_write_str
    - va_start
    - mem_deref
    - pl_set_str
    - sip_request
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sip_requestf(struct sip_request **reqp, struct sip *sip, bool
      stateful,\n\t\t const char *met, const char *uri, const struct uri *route,\n\t\t
      struct sip_auth *auth, sip_send_h *sendh, sip_resp_h *resph,\n\t\t void *arg,
      const char *fmt, ...)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sip/request.c:811,1
    - Dst: mbuf_write_str
      Src: /src/rtpproxy/external/libre/src/sip/request.c:815,1
    - Dst: sip_auth_encode
      Src: /src/rtpproxy/external/libre/src/sip/request.c:818,1
    - Dst: sip_dialog_uri
      Src: /src/rtpproxy/external/libre/src/sip/request.c:818,1
    - Dst: sip_dialog_encode
      Src: /src/rtpproxy/external/libre/src/sip/request.c:820,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:823,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sip/request.c:828,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sip/request.c:829,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sip/request.c:830,1
    - Dst: sip_request
      Src: /src/rtpproxy/external/libre/src/sip/request.c:837,1
    - Dst: sip_dialog_uri
      Src: /src/rtpproxy/external/libre/src/sip/request.c:837,1
    - Dst: sip_dialog_route
      Src: /src/rtpproxy/external/libre/src/sip/request.c:838,1
    - Dst: sip_dialog_hash
      Src: /src/rtpproxy/external/libre/src/sip/request.c:838,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sip/request.c:844,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 11
    argNames:
    - reqp
    - sip
    - stateful
    - met
    - dlg
    - cseq
    - auth
    - sendh
    - resph
    - arg
    - fmt
    argTypes:
    - struct sip_request**
    - struct sip*
    - bool
    - char*
    - struct sip_dialog*
    - uint32_t
    - struct sip_auth*
    - sip_send_h*
    - sip_resp_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 799
    functionDepth: 8
    functionLinenumber: 799
    functionLinenumberEnd: 847
    functionName: sip_drequestf
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 1
    functionsReached:
    - sip_dialog_uri
    - sip_auth_encode
    - mbuf_vprintf
    - mbuf_write_str
    - va_start
    - sip_dialog_hash
    - mem_deref
    - mbuf_printf
    - sip_dialog_encode
    - sip_dialog_route
    - sip_request
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sip_drequestf(struct sip_request **reqp, struct sip *sip, bool
      stateful,\n\t\t  const char *met, struct sip_dialog *dlg, uint32_t cseq,\n\t\t
      \ struct sip_auth *auth, sip_send_h *sendh, sip_resp_h *resph,\n\t\t  void *arg,
      const char *fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_ctrans_cancel
      Src: /src/rtpproxy/external/libre/src/sip/request.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sip_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 855
    functionDepth: 8
    functionLinenumber: 855
    functionLinenumberEnd: 866
    functionName: sip_request_cancel
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 1
    functionsReached:
    - sip_ctrans_cancel
    linkageType: ''
    returnType: void
    signature: void sip_request_cancel(struct sip_request *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/sip/request.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sip
    argTypes:
    - struct sip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 875
    functionName: sip_request_close
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 2
    functionsReached:
    - list_apply
    linkageType: ''
    returnType: void
    signature: void sip_request_close(struct sip *sip)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ls
    - scode
    argTypes:
    - struct sip_loopstate*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 921
    functionName: sip_request_loops
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sip_request_loops(struct sip_loopstate *ls, uint16_t scode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ls
    argTypes:
    - struct sip_loopstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: sip_loopstate_reset
    functionSourceFile: /src/rtpproxy/external/libre/src/sip/request.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sip_loopstate_reset(struct sip_loopstate *ls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:38,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:39,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:40,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:41,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/reply.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:51,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:61,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/reply.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sipsess_terminate
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:71,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:75,1
    - Dst: MIN
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 11
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: retransmit_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/reply.c
    functionUses: 0
    functionsReached:
    - sip_send
    - tmr_start
    - MIN
    linkageType: ''
    returnType: void
    signature: void retransmit_handler(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:88,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:92,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:94,1
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:97,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:99,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:112,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:113,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:114,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:119,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:120,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:122,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:129,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 7
    argNames:
    - sess
    - msg
    - scode
    - reason
    - desc
    - fmt
    - ap
    argTypes:
    - struct sipsess*
    - struct sip_msg*
    - uint16_t
    - char*
    - struct mbuf*
    - char*
    - va_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 80
    functionDepth: 8
    functionLinenumber: 80
    functionLinenumberEnd: 134
    functionName: sipsess_reply_2xx
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/reply.c
    functionUses: 0
    functionsReached:
    - mbuf_buf
    - sip_treplyf
    - mem_ref
    - list_append
    - mem_deref
    - tmr_start
    - sip_contact_set
    - mem_zalloc
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int sipsess_reply_2xx(struct sipsess *sess, const struct sip_msg *msg,\n\t\t
      \     uint16_t scode, const char *reason, struct mbuf *desc,\n\t\t      const
      char *fmt, va_list *ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/reply.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:151,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:151,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/reply.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sess
    - msg
    - awaiting_answer
    argTypes:
    - struct sipsess*
    - struct sip_msg*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: sipsess_reply_ack
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/reply.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_ledata
    - list_apply
    linkageType: ''
    returnType: int
    signature: "int sipsess_reply_ack(struct sipsess *sess, const struct sip_msg *msg,\n\t\t
      \     bool *awaiting_answer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:37,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:38,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:39,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:40,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:59,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:60,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - tp
    - src
    - dst
    - mb
    - arg
    argTypes:
    - enum sip_transp
    - struct sa*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - tmr_start
    - mem_ref
    linkageType: ''
    returnType: int
    signature: "int send_handler(enum sip_transp tp, const struct sa *src,\n\t\t\tconst
      struct sa *dst, struct mbuf *mb, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void resp_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:87,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:91,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:92,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:92,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:95,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:98,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:107,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:108,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:109,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - sock
    - dlg
    - cseq
    - auth
    - ctype
    - desc
    argTypes:
    - struct sipsess_sock*
    - struct sip_dialog*
    - uint32_t
    - struct sip_auth*
    - char*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 80
    functionDepth: 9
    functionLinenumber: 80
    functionLinenumberEnd: 118
    functionName: sipsess_ack
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - hash_append
    - mbuf_buf
    - mem_ref
    - sip_dialog_callid
    - mem_deref
    - sip_drequestf
    - mem_zalloc
    - mbuf_get_left
    - hash_joaat_str
    linkageType: ''
    returnType: int
    signature: "int sipsess_ack(struct sipsess_sock *sock, struct sip_dialog *dlg,\n\t\tuint32_t
      cseq, struct sip_auth *auth,\n\t\tconst char *ctype, struct mbuf *desc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_dialog_cmp
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - sip_dialog_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:140,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:140,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:141,1
    - Dst: sip_send
      Src: /src/rtpproxy/external/libre/src/sipsess/ack.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 11
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: sipsess_ack_again
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/ack.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - sip_send
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: int
    signature: int sipsess_ack_again(struct sipsess_sock *sock, const struct sip_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - descp
    - msg
    - arg
    argTypes:
    - struct mbuf**
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: internal_offer_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int internal_offer_handler(struct mbuf **descp,\n\t\t\t\t  const struct
      sip_msg *msg, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: internal_answer_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int internal_answer_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: internal_progress_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_progress_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: internal_establish_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_establish_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: internal_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void internal_close_handler(int err, const struct sip_msg *msg,\n\t\t\t\t
      \  void *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:78,1
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:81,1
    - Dst: sip_request_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:86,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:87,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:92,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct sipsess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 64
    functionDepth: 9
    functionLinenumber: 64
    functionLinenumberEnd: 102
    functionName: termwait
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - sip_request_cancel
    - sip_treply
    - mem_ref
    linkageType: ''
    returnType: bool
    signature: bool termwait(struct sipsess *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_bye
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:112,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct sipsess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 10
    functionsReached:
    - sipsess_bye
    - mem_ref
    linkageType: ''
    returnType: bool
    signature: bool terminate(struct sipsess *sess)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: termwait
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:127,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:133,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:138,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:139,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:140,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:141,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:142,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:143,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:144,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:145,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:146,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:147,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:148,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:149,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:150,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:151,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:152,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 10
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached:
    - list_flush
    - mem_deref
    - hash_unlink
    - terminate
    - tmr_cancel
    - termwait
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:168,1
    - Dst: sip_auth_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:172,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:176,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:180,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:184,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:185,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:186,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 16
    argNames:
    - sessp
    - sock
    - cuser
    - ctype
    - desc
    - authh
    - aarg
    - aref
    - offerh
    - answerh
    - progrh
    - estabh
    - infoh
    - referh
    - closeh
    - arg
    argTypes:
    - struct sipsess**
    - struct sipsess_sock*
    - char*
    - char*
    - struct mbuf*
    - sip_auth_h*
    - void*
    - bool
    - sipsess_offer_h*
    - sipsess_answer_h*
    - sipsess_progr_h*
    - sipsess_estab_h*
    - sipsess_info_h*
    - sipsess_refer_h*
    - sipsess_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 203
    functionName: sipsess_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached:
    - str_dup
    - sip_auth_alloc
    - mem_ref
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int sipsess_alloc(struct sipsess **sessp, struct sipsess_sock *sock,\n\t\t
      \ const char *cuser, const char *ctype, struct mbuf *desc,\n\t\t  sip_auth_h
      *authh, void *aarg, bool aref,\n\t\t  sipsess_offer_h *offerh, sipsess_answer_h
      *answerh,\n\t\t  sipsess_progr_h *progrh, sipsess_estab_h *estabh,\n\t\t  sipsess_info_h
      *infoh, sipsess_refer_h *referh,\n\t\t  sipsess_close_h *closeh, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: termwait
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:218,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:219,1
    - Dst: closeh
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sess
    - err
    - msg
    argTypes:
    - struct sipsess*
    - int
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 10
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: sipsess_terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 1
    functionsReached:
    - termwait
    - terminate
    - closeh
    linkageType: ''
    returnType: void
    signature: "void sipsess_terminate(struct sipsess *sess, int err,\n\t\t       const
      struct sip_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct sipsess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: sipsess_dialog
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sip_dialog
    signature: struct sip_dialog *sipsess_dialog(const struct sipsess *sess)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:255,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:258,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:259,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipsess/sess.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sess
    - hdrs
    argTypes:
    - struct sipsess*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: sipsess_set_close_headers
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/sess.c
    functionUses: 0
    functionsReached:
    - va_end
    - mem_deref
    - re_vsdprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int sipsess_set_close_headers(struct sipsess *sess, const char *hdrs,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:25,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 11
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: cancel_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/accept.c
    functionUses: 1
    functionsReached:
    - sip_treply
    - sipsess_terminate
    linkageType: ''
    returnType: void
    signature: void cancel_handler(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:80,1
    - Dst: sip_dialog_accept
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:86,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:90,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:91,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:91,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:94,1
    - Dst: sip_strans_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:96,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:101,1
    - Dst: sipsess_reply_2xx
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:104,1
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:109,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:111,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:124,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:125,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:126,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:129,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:136,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 19
    argNames:
    - sessp
    - sock
    - msg
    - scode
    - reason
    - cuser
    - ctype
    - desc
    - authh
    - aarg
    - aref
    - offerh
    - answerh
    - estabh
    - infoh
    - referh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipsess**
    - struct sipsess_sock*
    - struct sip_msg*
    - uint16_t
    - char*
    - char*
    - char*
    - struct mbuf*
    - sip_auth_h*
    - void*
    - bool
    - sipsess_offer_h*
    - sipsess_answer_h*
    - sipsess_estab_h*
    - sipsess_info_h*
    - sipsess_refer_h*
    - sipsess_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 62
    functionDepth: 9
    functionLinenumber: 62
    functionLinenumberEnd: 141
    functionName: sipsess_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/accept.c
    functionUses: 0
    functionsReached:
    - va_end
    - hash_append
    - sipsess_reply_2xx
    - mbuf_buf
    - mem_ref
    - sipsess_alloc
    - sip_treplyf
    - sip_dialog_callid
    - va_start
    - sip_strans_alloc
    - mem_deref
    - sip_contact_set
    - sip_dialog_accept
    - mbuf_get_left
    - hash_joaat_str
    linkageType: ''
    returnType: int
    signature: "int sipsess_accept(struct sipsess **sessp, struct sipsess_sock *sock,\n\t\t
      \  const struct sip_msg *msg, uint16_t scode,\n\t\t   const char *reason, const
      char *cuser, const char *ctype,\n\t\t   struct mbuf *desc,\n\t\t   sip_auth_h
      *authh, void *aarg, bool aref,\n\t\t   sipsess_offer_h *offerh, sipsess_answer_h
      *answerh,\n\t\t   sipsess_estab_h *estabh, sipsess_info_h *infoh,\n\t\t   sipsess_refer_h
      *referh, sipsess_close_h *closeh,\n\t\t   void *arg, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:165,1
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:167,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:169,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:182,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:183,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:184,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - sess
    - scode
    - reason
    - desc
    - fmt
    argTypes:
    - struct sipsess*
    - uint16_t
    - char*
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 155
    functionDepth: 8
    functionLinenumber: 155
    functionLinenumberEnd: 189
    functionName: sipsess_progress
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/accept.c
    functionUses: 0
    functionsReached:
    - va_end
    - mbuf_buf
    - sip_treplyf
    - va_start
    - sip_contact_set
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: "int sipsess_progress(struct sipsess *sess, uint16_t scode, const char
      *reason,\n\t\t     struct mbuf *desc, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:212,1
    - Dst: sipsess_reply_2xx
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:213,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - sess
    - scode
    - reason
    - desc
    - fmt
    argTypes:
    - struct sipsess*
    - uint16_t
    - char*
    - struct mbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 9
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: sipsess_answer
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/accept.c
    functionUses: 0
    functionsReached:
    - sipsess_reply_2xx
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: "int sipsess_answer(struct sipsess *sess, uint16_t scode, const char
      *reason,\n\t\t   struct mbuf *desc, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:240,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:241,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipsess/accept.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - sess
    - scode
    - reason
    - fmt
    argTypes:
    - struct sipsess*
    - uint16_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 8
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: sipsess_reject
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/accept.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sip_treplyf
    linkageType: ''
    returnType: int
    signature: "int sipsess_reject(struct sipsess *sess, uint16_t scode, const char
      *reason,\n\t\t   const char *fmt, ...)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipsess/close.c:25,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipsess/close.c:42,1
    - Dst: sipsess_bye
      Src: /src/rtpproxy/external/libre/src/sipsess/close.c:46,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/close.c:55,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 56
    functionName: bye_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/close.c
    functionUses: 0
    functionsReached:
    - sip_auth_authenticate
    - sipsess_bye
    - mem_deref
    - sip_request_loops
    linkageType: ''
    returnType: void
    signature: void bye_resp_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/sipsess/close.c:65,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipsess/close.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sess
    - reset_ls
    argTypes:
    - struct sipsess*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 9
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: sipsess_bye
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/close.c
    functionUses: 2
    functionsReached:
    - sip_drequestf
    - sip_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int sipsess_bye(struct sipsess *sess, bool reset_ls)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:28,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:45,1
    - Dst: info_request
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:51,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:59,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:67,1
    - Dst: struct sipsess_request*::resph
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:69,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:72,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 24
    functionDepth: 11
    functionLinenumber: 24
    functionLinenumberEnd: 73
    functionName: info_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/info.c
    functionUses: 0
    functionsReached:
    - sip_auth_authenticate
    - struct sipsess_request*::resph
    - mem_deref
    - sip_request_loops
    - sipsess_terminate
    - info_request
    linkageType: ''
    returnType: void
    signature: void info_resp_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:78,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:86,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:87,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct sipsess_request*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 9
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: info_request
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/info.c
    functionUses: 1
    functionsReached:
    - sip_drequestf
    - mbuf_buf
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int info_request(struct sipsess_request *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sip_dialog_established
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:111,1
    - Dst: sipsess_request_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:114,1
    - Dst: info_request
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:118,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/info.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - sess
    - ctype
    - body
    - resph
    - arg
    argTypes:
    - struct sipsess*
    - char*
    - struct mbuf*
    - sip_resp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 10
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: sipsess_info
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/info.c
    functionUses: 0
    functionsReached:
    - sipsess_request_alloc
    - mem_deref
    - info_request
    - sip_dialog_established
    linkageType: ''
    returnType: int
    signature: "int sipsess_info(struct sipsess *sess, const char *ctype, struct mbuf
      *body,\n\t\t sip_resp_h *resph, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:25,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:26,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:27,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:28,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:29,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - hash_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 9
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: internal_connect_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - sip_treply
    linkageType: ''
    returnType: void
    signature: void internal_connect_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_dialog_cmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - sip_dialog_cmp
    linkageType: ''
    returnType: bool
    signature: bool cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:54,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:54,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: sipsess_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct sipsess
    signature: "struct sipsess *sipsess_find(struct sipsess_sock *sock,\n\t\t\t\t
      \   const struct sip_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_find
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:65,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:67,1
    - Dst: sip_dialog_rseq_valid
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:71,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:72,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:77,1
    - Dst: struct sipsess*::infoh
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 9
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: info_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - struct sipsess*::infoh
    - sip_dialog_rseq_valid
    - sip_reply
    - sipsess_find
    linkageType: ''
    returnType: void
    signature: void info_handler(struct sipsess_sock *sock, const struct sip_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_find
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:90,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:92,1
    - Dst: sip_dialog_rseq_valid
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:96,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:97,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:102,1
    - Dst: struct sipsess*::referh
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 9
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: refer_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - sip_dialog_rseq_valid
    - sip_reply
    - sipsess_find
    - struct sipsess*::referh
    linkageType: ''
    returnType: void
    signature: void refer_handler(struct sipsess_sock *sock, const struct sip_msg
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_find
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:115,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:117,1
    - Dst: sip_dialog_rseq_valid
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:121,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:122,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:126,1
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:138,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 11
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: bye_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - sip_treply
    - sipsess_find
    - sip_treplyf
    - sip_dialog_rseq_valid
    - sip_reply
    - sipsess_terminate
    linkageType: ''
    returnType: void
    signature: void bye_handler(struct sipsess_sock *sock, const struct sip_msg *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_find
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:152,1
    - Dst: sipsess_reply_ack
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:156,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:162,1
    - Dst: struct sipsess*::answerh
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:169,1
    - Dst: sipsess_reinvite
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:173,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:178,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:182,1
    - Dst: struct sipsess*::estabh
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 146
    functionDepth: 11
    functionLinenumber: 146
    functionLinenumberEnd: 185
    functionName: ack_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 1
    functionsReached:
    - sipsess_reply_ack
    - sipsess_find
    - struct sipsess*::answerh
    - mem_deref
    - sipsess_reinvite
    - struct sipsess*::estabh
    - sipsess_terminate
    linkageType: ''
    returnType: void
    signature: void ack_handler(struct sipsess_sock *sock, const struct sip_msg *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_find
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:197,1
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:199,1
    - Dst: sip_dialog_rseq_valid
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:203,1
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:204,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:209,1
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:218,1
    - Dst: struct sipsess*::offerh
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:222,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:224,1
    - Dst: str_error
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:224,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:228,1
    - Dst: sipsess_reply_2xx
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:229,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:234,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:236,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 188
    functionDepth: 9
    functionLinenumber: 188
    functionLinenumberEnd: 238
    functionName: reinvite_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - sip_dialog_update
    - sipsess_reply_2xx
    - sip_treply
    - sipsess_find
    - sip_treplyf
    - struct sipsess*::offerh
    - mem_deref
    - tmr_cancel
    - sip_dialog_rseq_valid
    - sip_reply
    - str_error
    linkageType: ''
    returnType: void
    signature: "void reinvite_handler(struct sipsess_sock *sock,\n\t\t\t     const
      struct sip_msg *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct sipsess_sock*::connh
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipsess_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: invite_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - struct sipsess_sock*::connh
    linkageType: ''
    returnType: void
    signature: "void invite_handler(struct sipsess_sock *sock,\n\t\t\t   const struct
      sip_msg *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:252,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:254,1
    - Dst: reinvite_handler
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:255,1
    - Dst: invite_handler
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:257,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:261,1
    - Dst: ack_handler
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:262,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:265,1
    - Dst: bye_handler
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:266,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:269,1
    - Dst: info_handler
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:270,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:273,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:275,1
    - Dst: refer_handler
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 248
    functionDepth: 12
    functionLinenumber: 248
    functionLinenumberEnd: 283
    functionName: request_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - refer_handler
    - bye_handler
    - pl_strcmp
    - pl_isset
    - reinvite_handler
    - ack_handler
    - invite_handler
    - info_handler
    linkageType: ''
    returnType: bool
    signature: bool request_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:290,1
    - Dst: sipsess_ack_again
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 12
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - sipsess_ack_again
    linkageType: ''
    returnType: bool
    signature: bool response_handler(const struct sip_msg *msg, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:322,1
    - Dst: sip_listen
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:326,1
    - Dst: sip_listen
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:330,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:334,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:338,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:348,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - sockp
    - sip
    - htsize
    - connh
    - arg
    argTypes:
    - struct sipsess_sock**
    - struct sip*
    - int
    - sipsess_conn_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 353
    functionName: sipsess_listen
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sip_listen
    - mem_zalloc
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: "int sipsess_listen(struct sipsess_sock **sockp, struct sip *sip,\n\t\t
      \  int htsize, sipsess_conn_h *connh, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sipsess/listen.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - struct sipsess_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: sipsess_close_all
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/listen.c
    functionUses: 0
    functionsReached:
    - hash_flush
    linkageType: ''
    returnType: void
    signature: void sipsess_close_all(struct sipsess_sock *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_reinvite
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/modify.c
    functionUses: 0
    functionsReached:
    - sipsess_reinvite
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:36,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:44,1
    - Dst: struct sipsess*::answerh
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:47,1
    - Dst: struct sipsess*::offerh
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:50,1
    - Dst: sipsess_ack
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:53,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:55,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:65,1
    - Dst: sipsess_reinvite
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:71,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:79,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:83,1
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:88,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:92,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:92,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:99,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:101,1
    - Dst: sipsess_reinvite
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:103,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:105,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 29
    functionDepth: 11
    functionLinenumber: 29
    functionLinenumberEnd: 106
    functionName: reinvite_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/modify.c
    functionUses: 0
    functionsReached:
    - sip_dialog_update
    - sipsess_ack
    - sip_auth_authenticate
    - struct sipsess*::offerh
    - struct sipsess*::answerh
    - mem_deref
    - sip_request_loops
    - tmr_start
    - sipsess_reinvite
    - pl_u32
    - sipsess_terminate
    - sip_msg_hdr
    linkageType: ''
    returnType: void
    signature: "void reinvite_resp_handler(int err, const struct sip_msg *msg,\n\t\t\t\t
      \ void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:116,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - tp
    - src
    - dst
    - mb
    - arg
    argTypes:
    - enum sip_transp
    - struct sa*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/modify.c
    functionUses: 0
    functionsReached:
    - sip_contact_set
    - mbuf_printf
    linkageType: ''
    returnType: int
    signature: "int send_handler(enum sip_transp tp, const struct sa *src,\n\t\t\tconst
      struct sa *dst, struct mbuf *mb, void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:131,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:133,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:143,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:144,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sess
    - reset_ls
    argTypes:
    - struct sipsess*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 9
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: sipsess_reinvite
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/modify.c
    functionUses: 3
    functionsReached:
    - sip_drequestf
    - mbuf_buf
    - mbuf_get_left
    - sip_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int sipsess_reinvite(struct sipsess *sess, bool reset_ls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:162,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:163,1
    - Dst: sipsess_reinvite
      Src: /src/rtpproxy/external/libre/src/sipsess/modify.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - sess
    - desc
    argTypes:
    - struct sipsess*
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 10
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: sipsess_modify
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/modify.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sipsess_reinvite
    - mem_ref
    linkageType: ''
    returnType: int
    signature: int sipsess_modify(struct sipsess *sess, struct mbuf *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:32,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - tp
    - src
    - dst
    - mb
    - arg
    argTypes:
    - enum sip_transp
    - struct sa*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/connect.c
    functionUses: 0
    functionsReached:
    - sip_contact_set
    - mbuf_printf
    linkageType: ''
    returnType: int
    signature: "int send_handler(enum sip_transp tp, const struct sa *src,\n\t\t\tconst
      struct sa *dst, struct mbuf *mb, void *arg)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:43,1
    - Dst: struct sipsess*::progrh
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:47,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:52,1
    - Dst: sip_dialog_create
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:54,1
    - Dst: struct sipsess*::answerh
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:59,1
    - Dst: struct sipsess*::offerh
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:62,1
    - Dst: sipsess_ack
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:65,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:69,1
    - Dst: sipsess_reinvite
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:75,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:77,1
    - Dst: struct sipsess*::estabh
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:79,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:89,1
    - Dst: invite
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:93,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:107,1
    - Dst: invite
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:113,1
    - Dst: sipsess_terminate
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:123,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:125,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 38
    functionDepth: 11
    functionLinenumber: 38
    functionLinenumberEnd: 126
    functionName: invite_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/connect.c
    functionUses: 0
    functionsReached:
    - sip_dialog_update
    - sipsess_ack
    - sip_auth_authenticate
    - struct sipsess*::offerh
    - struct sipsess*::answerh
    - mem_deref
    - sip_request_loops
    - sipsess_reinvite
    - struct sipsess*::estabh
    - invite
    - sipsess_terminate
    - struct sipsess*::progrh
    - sip_dialog_create
    linkageType: ''
    returnType: void
    signature: void invite_resp_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:134,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:142,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:143,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:147,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:148,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct sipsess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 9
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: invite
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/connect.c
    functionUses: 5
    functionsReached:
    - sip_drequestf
    - mbuf_buf
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int invite(struct sipsess *sess)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sipsess_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:198,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:208,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:214,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:215,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:217,1
    - Dst: sip_dialog_alloc
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:225,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:230,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:231,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:231,1
    - Dst: invite
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:234,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/connect.c:240,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 22
    argNames:
    - sessp
    - sock
    - to_uri
    - from_name
    - from_uri
    - cuser
    - routev
    - routec
    - ctype
    - desc
    - authh
    - aarg
    - aref
    - offerh
    - answerh
    - progrh
    - estabh
    - infoh
    - referh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipsess**
    - struct sipsess_sock*
    - char*
    - char*
    - char*
    - char*
    - char*[]
    - uint32_t
    - char*
    - struct mbuf*
    - sip_auth_h*
    - void*
    - bool
    - sipsess_offer_h*
    - sipsess_answer_h*
    - sipsess_progr_h*
    - sipsess_estab_h*
    - sipsess_info_h*
    - sipsess_refer_h*
    - sipsess_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 181
    functionDepth: 10
    functionLinenumber: 181
    functionLinenumberEnd: 245
    functionName: sipsess_connect
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/connect.c
    functionUses: 0
    functionsReached:
    - hash_append
    - mbuf_vprintf
    - sipsess_alloc
    - sip_dialog_callid
    - va_start
    - mem_deref
    - invite
    - hash_joaat_str
    - sip_dialog_alloc
    - va_end
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sipsess_connect(struct sipsess **sessp, struct sipsess_sock *sock,\n\t\t
      \   const char *to_uri, const char *from_name,\n\t\t    const char *from_uri,
      const char *cuser,\n\t\t    const char *routev[], uint32_t routec,\n\t\t    const
      char *ctype, struct mbuf *desc,\n\t\t    sip_auth_h *authh, void *aarg, bool
      aref,\n\t\t    sipsess_offer_h *offerh, sipsess_answer_h *answerh,\n\t\t    sipsess_progr_h
      *progrh, sipsess_estab_h *estabh,\n\t\t    sipsess_info_h *infoh, sipsess_refer_h
      *referh,\n\t\t    sipsess_close_h *closeh, void *arg, const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:25,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:26,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:27,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:28,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/request.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: internal_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void internal_resp_handler(int err, const struct sip_msg *msg,\n\t\t\t\t
      \ void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:55,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:59,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:62,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:68,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipsess/request.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - reqp
    - sess
    - ctype
    - body
    - resph
    - arg
    argTypes:
    - struct sipsess_request**
    - struct sipsess*
    - char*
    - struct mbuf*
    - sip_resp_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 79
    functionName: sipsess_request_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sipsess/request.c
    functionUses: 1
    functionsReached:
    - str_dup
    - mem_ref
    - list_append
    - mem_deref
    - mem_zalloc
    linkageType: ''
    returnType: int
    signature: "int sipsess_request_alloc(struct sipsess_request **reqp, struct sipsess
      *sess,\n\t\t\t  const char *ctype, struct mbuf *body,\n\t\t\t  sip_resp_h *resph,
      void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_isempty
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:32,1
    - Dst: list_isempty
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:35,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:36,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:52,1
    - Dst: sa_af
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:52,1
    - Dst: icem_candpair_alloc
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:55,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 62
    functionName: candpairs_form
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - DEBUG_WARNING
    - icem_candpair_alloc
    - sa_af
    - list_isempty
    linkageType: ''
    returnType: int
    signature: int candpairs_form(struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: cand_srflx_addr
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *cand_srflx_addr(const struct ice_cand *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:80,1
    - Dst: cand_srflx_addr
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:80,1
    - Dst: cand_srflx_addr
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:81,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - le1
    - le2
    argTypes:
    - struct le*
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: unique_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - cand_srflx_addr
    - sa_cmp
    linkageType: ''
    returnType: void
    signature: void *unique_handler(struct le *le1, struct le *le2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ice_list_unique
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:102,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: candpair_prune
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - DEBUG_NOTICE
    - ice_list_unique
    linkageType: ''
    returnType: void
    signature: void candpair_prune(struct icem *icem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_cmp_fnd
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:134,1
    - Dst: icem_candpair_set_state
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 144
    functionName: ice_candpair_set_states
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - icem_candpair_cmp_fnd
    - icem_candpair_set_state
    linkageType: ''
    returnType: void
    signature: void ice_candpair_set_states(struct icem *icem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:167,1
    - Dst: list_isempty
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:172,1
    - Dst: candpairs_form
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:176,1
    - Dst: icem_candpair_prio_order
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:182,1
    - Dst: candpair_prune
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 188
    functionName: icem_checklist_form
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - candpairs_form
    - list_isempty
    - DEBUG_WARNING
    - icem_candpair_prio_order
    - candpair_prune
    linkageType: ''
    returnType: int
    signature: int icem_checklist_form(struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_iscompleted
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: iscompleted
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 4
    functionsReached:
    - icem_candpair_iscompleted
    linkageType: ''
    returnType: bool
    signature: bool iscompleted(const struct icem *icem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_find_st
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:219,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:222,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:225,1
    - Dst: icem_comp_set_selected
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:229,1
    - Dst: icem_conncheck_send
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:234,1
    - Dst: icem_conncheck_schedule_check
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - comp
    argTypes:
    - struct icem_comp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 239
    functionName: concluding_ice
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - icem_conncheck_schedule_check
    - icem_candpair_find_st
    - list_count
    - DEBUG_WARNING
    - icem_comp_set_selected
    - icem_conncheck_send
    linkageType: ''
    returnType: void
    signature: void concluding_ice(struct icem_comp *comp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iscompleted
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:253,1
    - Dst: icem_candpair_find_compid
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:265,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:266,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:269,1
    - Dst: concluding_ice
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:274,1
    - Dst: icem_comp_keepalive
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:279,1
    - Dst: struct icem*::chkh
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 288
    functionName: icem_checklist_update
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - icem_candpair_find_compid
    - list_count
    - DEBUG_WARNING
    - iscompleted
    - struct icem*::chkh
    - concluding_ice
    - icem_comp_keepalive
    linkageType: ''
    returnType: void
    signature: void icem_checklist_update(struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: icem_selected_lcand
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:301,1
    - Dst: icem_lcand_addr
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - icem
    - compid
    argTypes:
    - struct icem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: icem_selected_laddr
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - icem_selected_lcand
    - icem_lcand_addr
    linkageType: ''
    returnType: struct sa
    signature: struct sa *icem_selected_laddr(const struct icem *icem, unsigned compid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - icem
    - compid
    argTypes:
    - struct icem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: icem_selected_lcand
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 1
    functionsReached:
    - icem_comp_find
    linkageType: ''
    returnType: struct ice_cand
    signature: "struct ice_cand *icem_selected_lcand(const struct icem *icem,\n\t\tunsigned
      compid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/chklist.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - icem
    - compid
    argTypes:
    - struct icem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: icem_selected_rcand
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/chklist.c
    functionUses: 0
    functionsReached:
    - icem_comp_find
    linkageType: ''
    returnType: struct ice_cand
    signature: "struct ice_cand *icem_selected_rcand(const struct icem *icem,\n\t\tunsigned
      compid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:28,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:29,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:30,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: candpair_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void candpair_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - le1
    - le2
    - arg
    argTypes:
    - struct le*
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: sort_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool sort_handler(struct le *le1, struct le *le2, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ice_calc_pair_prio
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cp
    argTypes:
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: candpair_set_pprio
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - ice_calc_pair_prio
    linkageType: ''
    returnType: void
    signature: void candpair_set_pprio(struct ice_candpair *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_tail
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:69,1
    - Dst: list_insert_after
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:73,1
    - Dst: list_prepend
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - list
    - cp
    argTypes:
    - struct list*
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: list_add_sorted
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - list_insert_after
    - list_prepend
    - list_tail
    linkageType: ''
    returnType: void
    signature: void list_add_sorted(struct list *list, struct ice_candpair *cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:91,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:95,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:101,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:102,1
    - Dst: candpair_set_pprio
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:106,1
    - Dst: list_add_sorted
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - cpp
    - icem
    - lcand
    - rcand
    argTypes:
    - struct ice_candpair**
    - struct icem*
    - struct ice_cand*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 114
    functionName: icem_candpair_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 1
    functionsReached:
    - candpair_set_pprio
    - list_add_sorted
    - mem_ref
    - mem_zalloc
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: "int icem_candpair_alloc(struct ice_candpair **cpp, struct icem *icem,\n\t\t\tstruct
      ice_cand *lcand, struct ice_cand *rcand)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:125,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:131,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:132,1
    - Dst: list_add_sorted
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - cpp
    - cp0
    - lcand
    - rcand
    argTypes:
    - struct ice_candpair**
    - struct ice_candpair*
    - struct ice_cand*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 147
    functionName: icem_candpair_clone
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - list_add_sorted
    - mem_zalloc
    - mem_ref
    linkageType: ''
    returnType: int
    signature: "int icem_candpair_clone(struct ice_candpair **cpp, struct ice_candpair
      *cp0,\n\t\t\tstruct ice_cand *lcand, struct ice_cand *rcand)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:159,1
    - Dst: candpair_set_pprio
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:162,1
    - Dst: list_sort
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lst
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: icem_candpair_prio_order
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 1
    functionsReached:
    - candpair_set_pprio
    - list_head
    - list_sort
    linkageType: ''
    returnType: void
    signature: void icem_candpair_prio_order(struct list *lst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cp
    argTypes:
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: icem_candpair_cancel
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void icem_candpair_cancel(struct ice_candpair *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_set_state
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:188,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:190,1
    - Dst: list_add_sorted
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cp
    argTypes:
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: icem_candpair_make_valid
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - icem_candpair_set_state
    - list_add_sorted
    linkageType: ''
    returnType: void
    signature: void icem_candpair_make_valid(struct ice_candpair *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_set_state
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cp
    - err
    - scode
    argTypes:
    - struct ice_candpair*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: icem_candpair_failed
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - icem_candpair_set_state
    linkageType: ''
    returnType: void
    signature: void icem_candpair_failed(struct ice_candpair *cp, int err, uint16_t
      scode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_iscompleted
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:213,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:216,1
    - Dst: ice_cand_type2name
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:218,1
    - Dst: ice_cand_type2name
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:219,1
    - Dst: ice_candpair_state2name
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:220,1
    - Dst: ice_candpair_state2name
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cp
    - state
    argTypes:
    - struct ice_candpair*
    - enum ice_candpair_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: icem_candpair_set_state
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 3
    functionsReached:
    - ice_cand_type2name
    - icecomp_printf
    - icem_candpair_iscompleted
    - ice_candpair_state2name
    linkageType: ''
    returnType: void
    signature: "void icem_candpair_set_state(struct ice_candpair *cp,\n\t\t\t     enum
      ice_candpair_state state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:237,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - lst
    - type
    - compid
    argTypes:
    - struct list*
    - enum ice_cand_type
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: icem_candpairs_flush
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - list_head
    linkageType: ''
    returnType: void
    signature: "void icem_candpairs_flush(struct list *lst, enum ice_cand_type type,\n\t\t\t
      \ unsigned compid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cp
    argTypes:
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: icem_candpair_iscompleted
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool icem_candpair_iscompleted(const struct ice_candpair *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:277,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cp1
    - cp2
    argTypes:
    - struct ice_candpair*
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: icem_candpair_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: bool
    signature: "bool icem_candpair_cmp(const struct ice_candpair *cp1,\n\t\t       const
      struct ice_candpair *cp2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:302,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - lst
    - lcand
    - rcand
    argTypes:
    - struct list*
    - struct ice_cand*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: icem_candpair_find
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - list_head
    - DEBUG_WARNING
    linkageType: ''
    returnType: struct ice_candpair
    signature: "struct ice_candpair *icem_candpair_find(const struct list *lst,\n\t\t\t\t
      \   const struct ice_cand *lcand,\n\t\t\t\t    const struct ice_cand *rcand)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - lst
    - compid
    - state
    argTypes:
    - struct list*
    - unsigned
    - enum ice_candpair_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: icem_candpair_find_st
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 1
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct ice_candpair
    signature: "struct ice_candpair *icem_candpair_find_st(const struct list *lst,\n\t\t\t\t\t
      \  unsigned compid,\n\t\t\t\t\t   enum ice_candpair_state state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - lst
    - compid
    argTypes:
    - struct list*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: icem_candpair_find_compid
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 1
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct ice_candpair
    signature: "struct ice_candpair *icem_candpair_find_compid(const struct list *lst,\n\t\t\t\t\t
      \  unsigned compid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_find
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:379,1
    - Dst: icem_candpair_find
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - icem
    - rcand
    argTypes:
    - struct icem*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: icem_candpair_find_rcand
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - icem_candpair_find
    linkageType: ''
    returnType: struct ice_candpair
    signature: "struct ice_candpair *icem_candpair_find_rcand(struct icem *icem,\n\t\t\t\t\t
      \ const struct ice_cand *rcand)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:397,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cp1
    - cp2
    argTypes:
    - struct ice_candpair*
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 399
    functionName: icem_candpair_cmp_fnd
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: "bool icem_candpair_cmp_fnd(const struct ice_candpair *cp1,\n\t\t\t
      \  const struct ice_candpair *cp2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:409,1
    - Dst: ice_candpair_state2name
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:411,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:419,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pf
    - cp
    argTypes:
    - struct re_printf*
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 425
    functionName: icem_candpair_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - ice_candpair_state2name
    linkageType: ''
    returnType: int
    signature: int icem_candpair_debug(struct re_printf *pf, const struct ice_candpair
      *cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:436,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:436,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/candpair.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pf
    - list
    argTypes:
    - struct re_printf*
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 449
    functionName: icem_candpairs_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/candpair.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_count
    linkageType: ''
    returnType: int
    signature: int icem_candpairs_debug(struct re_printf *pf, const struct list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:30,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:31,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:32,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: cand_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void cand_destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sa_hash
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:44,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cand
    argTypes:
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: compute_foundation
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - re_sdprintf
    - sa_hash
    linkageType: ''
    returnType: int
    signature: int compute_foundation(struct ice_cand *cand)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:62,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:66,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:73,1
    - Dst: compute_foundation
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:75,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:78,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 8
    argNames:
    - candp
    - icem
    - type
    - compid
    - prio
    - ifname
    - transp
    - addr
    argTypes:
    - struct ice_cand**
    - struct icem*
    - enum ice_cand_type
    - unsigned
    - uint32_t
    - char*
    - enum ice_transp
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 86
    functionName: cand_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - str_dup
    - list_append
    - mem_deref
    - compute_foundation
    - mem_zalloc
    - sa_cpy
    linkageType: ''
    returnType: int
    signature: "int cand_alloc(struct ice_cand **candp, struct icem *icem,\n\t\t      enum
      ice_cand_type type, unsigned compid,\n\t\t      uint32_t prio, const char *ifname,\n\t\t
      \     enum ice_transp transp, const struct sa *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:97,1
    - Dst: cand_alloc
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:101,1
    - Dst: ice_cand_calc_prio
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:102,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - icem
    - compid
    - lprio
    - ifname
    - transp
    - addr
    argTypes:
    - struct icem*
    - unsigned
    - uint16_t
    - char*
    - enum ice_transp
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 7
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: icem_lcand_add_base
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - cand_alloc
    - ice_cand_calc_prio
    - sa_set_port
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: "int icem_lcand_add_base(struct icem *icem, unsigned compid, uint16_t
      lprio,\n\t\t\tconst char *ifname, enum ice_transp transp,\n\t\t\tconst struct
      sa *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cand_alloc
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:126,1
    - Dst: ice_cand_calc_prio
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:127,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:132,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - icem
    - base
    - type
    - addr
    argTypes:
    - struct icem*
    - struct ice_cand*
    - enum ice_cand_type
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: icem_lcand_add
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - cand_alloc
    - ice_cand_calc_prio
    - sa_cpy
    - mem_ref
    linkageType: ''
    returnType: int
    signature: "int icem_lcand_add(struct icem *icem, struct ice_cand *base,\n\t\t
      \  enum ice_cand_type type,\n\t\t   const struct sa *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:149,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:153,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:159,1
    - Dst: sa_cpy
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:160,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:162,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - icem
    - type
    - compid
    - prio
    - addr
    - rel_addr
    - foundation
    argTypes:
    - struct icem*
    - enum ice_cand_type
    - unsigned
    - uint32_t
    - struct sa*
    - struct sa*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 168
    functionName: icem_rcand_add
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 1
    functionsReached:
    - pl_strdup
    - list_append
    - mem_deref
    - mem_zalloc
    - sa_cpy
    linkageType: ''
    returnType: int
    signature: "int icem_rcand_add(struct icem *icem, enum ice_cand_type type, unsigned
      compid,\n\t\t   uint32_t prio, const struct sa *addr,\n\t\t   const struct sa
      *rel_addr, const struct pl *foundation)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:181,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:185,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:192,1
    - Dst: rand_u32
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:192,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:196,1
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:196,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - rcp
    - icem
    - compid
    - prio
    - addr
    argTypes:
    - struct ice_cand**
    - struct icem*
    - unsigned
    - uint32_t
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 207
    functionName: icem_rcand_add_prflx
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - re_sdprintf
    - list_append
    - mem_deref
    - mem_zalloc
    - rand_u32
    - icecomp_printf
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: "int icem_rcand_add_prflx(struct ice_cand **rcp, struct icem *icem,\n\t\t\t
      unsigned compid, uint32_t prio,\n\t\t\t const struct sa *addr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:215,1
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - lst
    - compid
    - addr
    argTypes:
    - struct list*
    - unsigned
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 229
    functionName: icem_cand_find
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 1
    functionsReached:
    - sa_cmp
    - list_head
    linkageType: ''
    returnType: struct ice_cand
    signature: "struct ice_cand *icem_cand_find(const struct list *lst, unsigned compid,\n\t\t\t\tconst
      struct sa *addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - icem
    - compid
    argTypes:
    - struct icem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 263
    functionName: icem_lcand_find_checklist
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ice_cand
    signature: "struct ice_cand *icem_lcand_find_checklist(const struct icem *icem,\n\t\t\t\t\t
      \  unsigned compid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lcand
    argTypes:
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: icem_lcand_base
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ice_cand
    signature: struct ice_cand *icem_lcand_base(struct ice_cand *lcand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cand
    argTypes:
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: icem_lcand_addr
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct sa
    signature: struct sa *icem_lcand_addr(const struct ice_cand *cand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:283,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:283,1
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:285,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:289,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:293,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:294,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pf
    - lst
    argTypes:
    - struct re_printf*
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: icem_cands_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - list_head
    - list_count
    - sa_isset
    linkageType: ''
    returnType: int
    signature: int icem_cands_debug(struct re_printf *pf, const struct list *lst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:311,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:313,1
    - Dst: ice_cand_type2name
      Src: /src/rtpproxy/external/libre/src/ice/cand.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - cand
    argTypes:
    - struct re_printf*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: icem_cand_print
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - ice_cand_type2name
    linkageType: ''
    returnType: int
    signature: int icem_cand_print(struct re_printf *pf, const struct ice_cand *cand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cand
    argTypes:
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: icem_cand_type
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/cand.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum ice_cand_type
    signature: enum ice_cand_type icem_cand_type(const struct ice_cand *cand)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - transp
    argTypes:
    - enum ice_transp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: transp_name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *transp_name(enum ice_transp transp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - transp
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: transp_resolve
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 1
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: enum ice_transp
    signature: enum ice_transp transp_resolve(const struct pl *transp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:71,1
    - Dst: transp_name
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:73,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:74,1
    - Dst: ice_cand_type2name
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:75,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:77,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:78,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:80,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:81,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - cand
    argTypes:
    - struct re_printf*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: ice_cand_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 1
    functionsReached:
    - sa_port
    - ice_cand_type2name
    - re_hprintf
    - sa_isset
    - transp_name
    linkageType: ''
    returnType: int
    signature: int ice_cand_encode(struct re_printf *pf, const struct ice_cand *cand)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ice_remotecands_avail
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ice_remotecands_avail(const struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:124,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pf
    - icem
    argTypes:
    - struct re_printf*
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: ice_remotecands_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - sa_port
    linkageType: ''
    returnType: int
    signature: int ice_remotecands_encode(struct re_printf *pf, const struct icem
      *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:142,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:146,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:147,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - icem
    - value
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: ufrag_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - str_dup
    - mem_deref
    - mem_ref
    linkageType: ''
    returnType: int
    signature: int ufrag_decode(struct icem *icem, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:160,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:164,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:165,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - icem
    - value
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: pwd_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - str_dup
    - mem_deref
    - mem_ref
    linkageType: ''
    returnType: int
    signature: int pwd_decode(struct icem *icem, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:175,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - icem
    - value
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: media_ufrag_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - str_dup
    - mem_deref
    linkageType: ''
    returnType: int
    signature: int media_ufrag_decode(struct icem *icem, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:183,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - icem
    - value
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: media_pwd_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - str_dup
    - mem_deref
    linkageType: ''
    returnType: int
    signature: int media_pwd_decode(struct icem *icem, const char *value)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sa_init
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:198,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:200,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:200,1
    - Dst: transp_resolve
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:207,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:208,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:214,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:219,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:222,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:224,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:225,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:226,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:230,1
    - Dst: sa_set_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:231,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:231,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:236,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:236,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:240,1
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:243,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:246,1
    - Dst: icem_rcand_add
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:248,1
    - Dst: ice_cand_name2type
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:248,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - icem
    - val
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 250
    functionName: cand_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 2
    functionsReached:
    - sa_set
    - icem_cand_find
    - sa_port
    - pl_strcasecmp
    - pl_strcpy
    - transp_resolve
    - pl_isset
    - DEBUG_NOTICE
    - sa_init
    - pl_u32
    - pl_advance
    - re_regex
    - sa_set_port
    - ice_cand_name2type
    - strlen
    - icem_rcand_add
    linkageType: ''
    returnType: int
    signature: int cand_decode(struct icem *icem, const char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:267,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:269,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:275,1
    - Dst: ufrag_decode
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:276,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:277,1
    - Dst: pwd_decode
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - icem
    - name
    - value
    argTypes:
    - struct icem*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: ice_sdp_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - ufrag_decode
    - pwd_decode
    - str_casecmp
    - DEBUG_WARNING
    linkageType: ''
    returnType: int
    signature: int ice_sdp_decode(struct icem *icem, const char *name, const char
      *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:298,1
    - Dst: cand_decode
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:299,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:300,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:302,1
    - Dst: media_ufrag_decode
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:303,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:304,1
    - Dst: media_pwd_decode
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - icem
    - name
    - value
    argTypes:
    - struct icem*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: icem_sdp_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 1
    functionsReached:
    - media_ufrag_decode
    - media_pwd_decode
    - str_casecmp
    - cand_decode
    linkageType: ''
    returnType: int
    signature: int icem_sdp_decode(struct icem *icem, const char *name, const char
      *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tcptype
    argTypes:
    - enum ice_tcptype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: ice_tcptype_name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ice_tcptype_name(enum ice_tcptype tcptype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:325,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:326,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pl
    argTypes:
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: ice_tcptype_resolve
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - pl_strcasecmp
    linkageType: ''
    returnType: enum ice_tcptype
    signature: enum ice_tcptype ice_tcptype_resolve(const struct pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:341,1
    - Dst: net_proto2name
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:343,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:344,1
    - Dst: ice_cand_type2name
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:345,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:347,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:348,1
    - Dst: sa_isset
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:350,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:351,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:351,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:354,1
    - Dst: ice_tcptype_name
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pf
    - cand
    argTypes:
    - struct re_printf*
    - struct ice_cand_attr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 359
    functionName: ice_cand_attr_encode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 0
    functionsReached:
    - sa_port
    - ice_tcptype_name
    - ice_cand_type2name
    - sa_isset
    - net_proto2name
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: "int ice_cand_attr_encode(struct re_printf *pf,\n\t\t\t const struct
      ice_cand_attr *cand)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:373,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:375,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:377,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:385,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:387,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:389,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:394,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:394,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:398,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:399,1
    - Dst: pl_strcpy
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:401,1
    - Dst: ice_cand_name2type
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:403,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:407,1
    - Dst: sa_set
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:410,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:410,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:419,1
    - Dst: ice_tcptype_resolve
      Src: /src/rtpproxy/external/libre/src/ice/icesdp.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - cand
    - val
    argTypes:
    - struct ice_cand_attr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 428
    functionName: ice_cand_attr_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icesdp.c
    functionUses: 1
    functionsReached:
    - sa_set
    - ice_tcptype_resolve
    - pl_strcasecmp
    - pl_strcpy
    - pl_u32
    - re_regex
    - ice_cand_name2type
    - memset
    - str_len
    linkageType: ''
    returnType: int
    signature: int ice_cand_attr_decode(struct ice_cand_attr *cand, const char *val)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum ice_cand_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: ice_cand_type2name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icestr.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ice_cand_type2name(enum ice_cand_type type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icestr.c:32,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icestr.c:33,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icestr.c:34,1
    - Dst: str_casecmp
      Src: /src/rtpproxy/external/libre/src/ice/icestr.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: ice_cand_name2type
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icestr.c
    functionUses: 3
    functionsReached:
    - str_casecmp
    linkageType: ''
    returnType: enum ice_cand_type
    signature: enum ice_cand_type ice_cand_name2type(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mode
    argTypes:
    - enum ice_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: ice_mode2name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icestr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ice_mode2name(enum ice_mode mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - role
    argTypes:
    - enum ice_role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ice_role2name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icestr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ice_role2name(enum ice_role role)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum ice_candpair_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: ice_candpair_state2name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icestr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ice_candpair_state2name(enum ice_candpair_state st)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cst
    argTypes:
    - enum ice_checkl_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: ice_checkl_state2name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icestr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ice_checkl_state2name(enum ice_checkl_state cst)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_find
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:35,1
    - Dst: icem_candpair_cancel
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:49,1
    - Dst: icem_candpair_set_state
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:54,1
    - Dst: icem_conncheck_send
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:59,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:61,1
    - Dst: icem_candpair_alloc
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:73,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:75,1
    - Dst: icem_candpair_prio_order
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:81,1
    - Dst: icem_candpair_set_state
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:83,1
    - Dst: icem_conncheck_send
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - icem
    - lcand
    - rcand
    argTypes:
    - struct icem*
    - struct ice_cand*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 89
    functionName: triggered_check
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/stunsrv.c
    functionUses: 0
    functionsReached:
    - icem_conncheck_send
    - DEBUG_WARNING
    - icem_candpair_prio_order
    - icem_candpair_find
    - icem_candpair_alloc
    - icem_candpair_set_state
    - icem_candpair_cancel
    linkageType: ''
    returnType: void
    signature: "void triggered_check(struct icem *icem, struct ice_cand *lcand,\n\t\t\t
      \   struct ice_cand *rcand)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:103,1
    - Dst: icem_rcand_add_prflx
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:105,1
    - Dst: icem_candpair_find_rcand
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:110,1
    - Dst: icem_lcand_find_checklist
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:114,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:117,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:120,1
    - Dst: triggered_check
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:124,1
    - Dst: icem_candpair_find_rcand
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:127,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:129,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:137,1
    - Dst: ice_candpair_state2name
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:140,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:152,1
    - Dst: icem_candpair_make_valid
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:161,1
    - Dst: icem_candpair_cancel
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:164,1
    - Dst: icem_comp_set_selected
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 6
    argNames:
    - icem
    - comp
    - src
    - prio
    - use_cand
    - tunnel
    argTypes:
    - struct icem*
    - struct icem_comp*
    - struct sa*
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 170
    functionName: handle_stun_full
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/stunsrv.c
    functionUses: 0
    functionsReached:
    - icem_cand_find
    - icem_candpair_find_rcand
    - triggered_check
    - list_count
    - DEBUG_WARNING
    - icem_lcand_find_checklist
    - icem_candpair_cancel
    - icem_rcand_add_prflx
    - icem_comp_set_selected
    - ice_candpair_state2name
    - icecomp_printf
    - icem_candpair_make_valid
    linkageType: ''
    returnType: int
    signature: "int handle_stun_full(struct icem *icem,\n\t\t\t    struct icem_comp
      *comp, const struct sa *src,\n\t\t\t    uint32_t prio, bool use_cand, bool tunnel)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:187,1
    - Dst: icem_rcand_add_prflx
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:189,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:191,1
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:197,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:199,1
    - Dst: icem_candpair_find
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:204,1
    - Dst: icem_candpair_alloc
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:207,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:209,1
    - Dst: icem_candpair_make_valid
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - icem
    - comp
    - src
    - prio
    - use_cand
    argTypes:
    - struct icem*
    - struct icem_comp*
    - struct sa*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 217
    functionName: handle_stun_lite
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/stunsrv.c
    functionUses: 0
    functionsReached:
    - icem_cand_find
    - icem_candpair_make_valid
    - DEBUG_WARNING
    - icem_rcand_add_prflx
    - icem_candpair_alloc
    - icem_candpair_find
    linkageType: ''
    returnType: int
    signature: "int handle_stun_lite(struct icem *icem,\n\t\t\t    struct icem_comp
      *comp, const struct sa *src,\n\t\t\t    uint32_t prio, bool use_cand)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stun_ereply
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:226,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - comp
    - src
    - presz
    - req
    - scode
    - reason
    argTypes:
    - struct icem_comp*
    - struct sa*
    - size_t
    - struct stun_msg*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: stunsrv_ereply
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/stunsrv.c
    functionUses: 0
    functionsReached:
    - stun_ereply
    - strlen
    linkageType: ''
    returnType: int
    signature: "int stunsrv_ereply(struct icem_comp *comp, const struct sa *src,\n\t\t\t
      \ size_t presz, const struct stun_msg *req,\n\t\t\t  uint16_t scode, const char
      *reason)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stun_msg_chk_fingerprint
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:246,1
    - Dst: stun_msg_chk_mi
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:250,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:250,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:258,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:262,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:262,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:265,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:269,1
    - Dst: str_isset
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:271,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:271,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:274,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:280,1
    - Dst: ice_switch_local_role
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:288,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:293,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:299,1
    - Dst: handle_stun_full
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:304,1
    - Dst: handle_stun_lite
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:308,1
    - Dst: stun_reply
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:314,1
    - Dst: strlen
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:315,1
    - Dst: stunsrv_ereply
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:320,1
    - Dst: stunsrv_ereply
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:323,1
    - Dst: stunsrv_ereply
      Src: /src/rtpproxy/external/libre/src/ice/stunsrv.c:326,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 4
    argNames:
    - comp
    - src
    - req
    - presz
    argTypes:
    - struct icem_comp*
    - struct sa*
    - struct stun_msg*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 233
    functionDepth: 7
    functionLinenumber: 233
    functionLinenumberEnd: 327
    functionName: icem_stund_recv
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/stunsrv.c
    functionUses: 1
    functionsReached:
    - stunsrv_ereply
    - handle_stun_full
    - handle_stun_lite
    - stun_msg_chk_fingerprint
    - pl_strcmp
    - DEBUG_WARNING
    - re_regex
    - ice_switch_local_role
    - str_isset
    - stun_msg_attr
    - strlen
    - stun_reply
    - stun_msg_chk_mi
    linkageType: ''
    returnType: int
    signature: "int icem_stund_recv(struct icem_comp *comp, const struct sa *src,\n\t\t
      \   struct stun_msg *req, size_t presz)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum ice_cand_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: type_prio
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t type_prio(enum ice_cand_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_prio
      Src: /src/rtpproxy/external/libre/src/ice/util.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - type
    - local
    - compid
    argTypes:
    - enum ice_cand_type
    - uint16_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: ice_cand_calc_prio
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/util.c
    functionUses: 2
    functionsReached:
    - type_prio
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ice_cand_calc_prio(enum ice_cand_type type, uint16_t local,\n\t\t\t
      \   unsigned compid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/ice/util.c:68,1
    - Dst: max
      Src: /src/rtpproxy/external/libre/src/ice/util.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - g
    - d
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ice_calc_pair_prio
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/util.c
    functionUses: 1
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ice_calc_pair_prio(uint32_t g, uint32_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/ice/util.c:84,1
    - Dst: ice_role2name
      Src: /src/rtpproxy/external/libre/src/ice/util.c:85,1
    - Dst: ice_role2name
      Src: /src/rtpproxy/external/libre/src/ice/util.c:85,1
    - Dst: icem_candpair_prio_order
      Src: /src/rtpproxy/external/libre/src/ice/util.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: ice_switch_local_role
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/util.c
    functionUses: 1
    functionsReached:
    - DEBUG_NOTICE
    - ice_role2name
    - icem_candpair_prio_order
    linkageType: ''
    returnType: void
    signature: void ice_switch_local_role(struct icem *icem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/util.c:111,1
    - Dst: uh
      Src: /src/rtpproxy/external/libre/src/ice/util.c:121,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/util.c:131,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/util.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - list
    - uh
    argTypes:
    - struct list*
    - list_unique_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 145
    functionName: ice_list_unique
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/util.c
    functionUses: 1
    functionsReached:
    - uh
    - mem_deref
    - list_head
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ice_list_unique(struct list *list, list_unique_h *uh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:39,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:40,1
    - Dst: stun_msg_decode
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:43,1
    - Dst: stun_msg_method
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:46,1
    - Dst: stun_msg_class
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:48,1
    - Dst: icem_stund_recv
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:51,1
    - Dst: stun_ctrans_recv
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:55,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - src
    - mb
    - arg
    argTypes:
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 30
    functionDepth: 8
    functionLinenumber: 30
    functionLinenumberEnd: 63
    functionName: helper_recv_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - stun_msg_method
    - re_printf
    - mem_deref
    - stun_msg_class
    - stun_ctrans_recv
    - icem_stund_recv
    - mbuf_get_left
    - stun_msg_decode
    linkageType: ''
    returnType: bool
    signature: bool helper_recv_handler(struct sa *src, struct mbuf *mb, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:70,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:71,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:72,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:73,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:74,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:75,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - lcandl
    - compid
    argTypes:
    - struct list*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: cand_default
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - list_head
    linkageType: ''
    returnType: struct ice_cand
    signature: "struct ice_cand *cand_default(const struct list *lcandl,\n\t\t\t\t
      \    unsigned compid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:128,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:133,1
    - Dst: udp_register_helper
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:136,1
    - Dst: udp_local_get
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:141,1
    - Dst: sa_port
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:145,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - cp
    - icem
    - id
    - sock
    argTypes:
    - struct icem_comp**
    - struct icem*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 154
    functionName: icem_comp_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 1
    functionsReached:
    - sa_port
    - mem_ref
    - mem_deref
    - udp_local_get
    - mem_zalloc
    - udp_register_helper
    linkageType: ''
    returnType: int
    signature: "int icem_comp_alloc(struct icem_comp **cp, struct icem *icem, int
      id,\n\t\t    void *sock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cand_default
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:164,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:168,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - comp
    argTypes:
    - struct icem_comp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: icem_comp_set_default_cand
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - cand_default
    - mem_deref
    - mem_ref
    linkageType: ''
    returnType: int
    signature: int icem_comp_set_default_cand(struct icem_comp *comp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:181,1
    - Dst: ice_cand_type2name
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:182,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:184,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:185,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:188,1
    - Dst: turnc_add_chan
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - comp
    - rcand
    argTypes:
    - struct icem_comp*
    - struct ice_cand*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: icem_comp_set_default_rcand
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - mem_ref
    - ice_cand_type2name
    - mem_deref
    - icecomp_printf
    - turnc_add_chan
    linkageType: ''
    returnType: void
    signature: "void icem_comp_set_default_rcand(struct icem_comp *comp,\n\t\t\t\t
      struct ice_cand *rcand)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:202,1
    - Dst: ice_candpair_state2name
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:204,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:207,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - comp
    - cp
    argTypes:
    - struct icem_comp*
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: icem_comp_set_selected
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 2
    functionsReached:
    - mem_ref
    - mem_deref
    - DEBUG_WARNING
    - ice_candpair_state2name
    linkageType: ''
    returnType: void
    signature: void icem_comp_set_selected(struct icem_comp *comp, struct ice_candpair
      *cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - icem
    - compid
    argTypes:
    - struct icem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: icem_comp_find
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct icem_comp
    signature: struct icem_comp *icem_comp_find(const struct icem *icem, unsigned
      compid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:236,1
    - Dst: rand_u16
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:236,1
    - Dst: stun_indication
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 5
    functionsReached:
    - rand_u16
    - stun_indication
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void timeout(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:256,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - comp
    - enable
    argTypes:
    - struct icem_comp*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: icem_comp_keepalive
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 1
    functionsReached:
    - tmr_cancel
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void icem_comp_keepalive(struct icem_comp *comp, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:271,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:272,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - comp
    - fmt
    argTypes:
    - struct icem_comp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: icecomp_printf
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 4
    functionsReached:
    - re_printf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void icecomp_printf(struct icem_comp *comp, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - comp
    argTypes:
    - struct re_printf*
    - struct icem_comp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: icecomp_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int icecomp_debug(struct re_printf *pf, const struct icem_comp *comp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:295,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:299,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/ice/comp.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - icem
    - compid
    - turnc
    argTypes:
    - struct icem*
    - unsigned
    - struct turnc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: icem_set_turn_client
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/comp.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - mem_ref
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: "int icem_set_turn_client(struct icem *icem, unsigned compid,\n\t\t\t
      struct turnc *turnc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - icem
    - role
    argTypes:
    - struct icem*
    - enum ice_role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: ice_determine_role
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ice_determine_role(struct icem *icem, enum ice_role role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:56,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:57,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:58,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:59,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:60,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:61,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:62,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:63,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:64,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:65,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: icem_destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void icem_destructor(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:98,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:98,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:99,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:106,1
    - Dst: tmr_init
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:112,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:113,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:114,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:115,1
    - Dst: list_init
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:116,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:130,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:131,1
    - Dst: ice_determine_role
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:135,1
    - Dst: stun_alloc
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:139,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:144,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:145,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:150,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 10
    argNames:
    - icemp
    - mode
    - role
    - proto
    - layer
    - tiebrk
    - lufrag
    - lpwd
    - chkh
    - arg
    argTypes:
    - struct icem**
    - enum ice_mode
    - enum ice_role
    - int
    - int
    - uint64_t
    - char*
    - char*
    - ice_connchk_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 155
    functionName: icem_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 2
    functionsReached:
    - str_dup
    - stun_conf
    - tmr_init
    - list_init
    - ice_determine_role
    - mem_deref
    - DEBUG_WARNING
    - stun_alloc
    - mem_zalloc
    - str_len
    linkageType: ''
    returnType: int
    signature: "int icem_alloc(struct icem **icemp,\n\t\tenum ice_mode mode, enum
      ice_role role,\n\t\tint proto, int layer,\n\t\tuint64_t tiebrk, const char *lufrag,
      const char *lpwd,\n\t\tice_connchk_h *chkh, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: icem_conf
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ice_conf
    signature: struct ice_conf *icem_conf(struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: icem_local_role
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum ice_role
    signature: enum ice_role icem_local_role(const struct icem *icem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:187,1
    - Dst: stun_conf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - icem
    - conf
    argTypes:
    - struct icem*
    - struct ice_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: icem_set_conf
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - stun_conf
    linkageType: ''
    returnType: void
    signature: void icem_set_conf(struct icem *icem, const struct ice_conf *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ice_determine_role
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - icem
    - role
    argTypes:
    - struct icem*
    - enum ice_role
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: icem_set_role
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - ice_determine_role
    linkageType: ''
    returnType: void
    signature: void icem_set_role(struct icem *icem, enum ice_role role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_ncpy
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - icem
    - name
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: icem_set_name
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - str_ncpy
    linkageType: ''
    returnType: void
    signature: void icem_set_name(struct icem *icem, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:240,1
    - Dst: icem_comp_alloc
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:243,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - icem
    - compid
    - sock
    argTypes:
    - struct icem*
    - unsigned
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: icem_comp_add
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 1
    functionsReached:
    - icem_comp_alloc
    - list_append
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: int icem_comp_add(struct icem *icem, unsigned compid, void *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:267,1
    - Dst: icem_lcand_add_base
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - icem
    - compid
    - lprio
    - ifname
    - addr
    argTypes:
    - struct icem*
    - unsigned
    - uint16_t
    - char*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 8
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: icem_cand_add
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 1
    functionsReached:
    - icem_lcand_add_base
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: "int icem_cand_add(struct icem *icem, unsigned compid, uint16_t lprio,\n\t\t
      \ const char *ifname, const struct sa *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sa_cmp
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - le1
    - le2
    argTypes:
    - struct le*
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: unique_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - sa_cmp
    linkageType: ''
    returnType: void
    signature: void *unique_handler(struct le *le1, struct le *le2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ice_list_unique
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:296,1
    - Dst: icem_printf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: icem_cand_redund_elim
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - ice_list_unique
    - icem_printf
    linkageType: ''
    returnType: void
    signature: void icem_cand_redund_elim(struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - icem
    - compid
    argTypes:
    - struct icem*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: icem_cand_default
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - icem_comp_find
    linkageType: ''
    returnType: struct sa
    signature: struct sa *icem_cand_default(struct icem *icem, unsigned compid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:340,1
    - Dst: icem_comp_set_default_rcand
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:347,1
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - icem
    - compid
    - raddr
    argTypes:
    - struct icem*
    - unsigned
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: icem_verify_support
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - icem_cand_find
    - icem_comp_set_default_rcand
    - icem_comp_find
    linkageType: ''
    returnType: bool
    signature: "bool icem_verify_support(struct icem *icem, unsigned compid,\n\t\t\t
      const struct sa *raddr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_find
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:371,1
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:376,1
    - Dst: turnc_add_chan
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - icem
    - compid
    - raddr
    argTypes:
    - struct icem*
    - unsigned
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: icem_add_chan
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - turnc_add_chan
    - DEBUG_NOTICE
    - icem_comp_find
    linkageType: ''
    returnType: int
    signature: int icem_add_chan(struct icem *icem, unsigned compid, const struct
      sa *raddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_NOTICE
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:389,1
    - Dst: icem_candpairs_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:397,1
    - Dst: icem_candpairs_flush
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:398,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - icem
    - comp
    argTypes:
    - struct icem*
    - struct icem_comp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 401
    functionName: purge_relayed
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - DEBUG_NOTICE
    - mem_deref
    - icem_candpairs_flush
    linkageType: ''
    returnType: void
    signature: void purge_relayed(struct icem *icem, struct icem_comp *comp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: purge_relayed
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: icem_update
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - purge_relayed
    linkageType: ''
    returnType: void
    signature: void icem_update(struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: icem_mismatch
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool icem_mismatch(const struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:459,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:461,1
    - Dst: ice_mode2name
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:462,1
    - Dst: ice_mode2name
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:463,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:464,1
    - Dst: ice_role2name
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:464,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:465,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:468,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:468,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:472,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:475,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:477,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:479,1
    - Dst: ice_checkl_state2name
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:480,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:482,1
    - Dst: stun_debug
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pf
    - icem
    argTypes:
    - struct re_printf*
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 451
    functionDepth: 4
    functionLinenumber: 451
    functionLinenumberEnd: 488
    functionName: icem_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - ice_role2name
    - ice_checkl_state2name
    - list_count
    - re_hprintf
    - stun_debug
    - ice_mode2name
    linkageType: ''
    returnType: int
    signature: int icem_debug(struct re_printf *pf, const struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: icem_lcandl
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *icem_lcandl(const struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: icem_rcandl
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *icem_rcandl(const struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: icem_checkl
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *icem_checkl(const struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: icem_validl
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: struct list *icem_validl(const struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_set_default_cand
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 550
    functionDepth: 3
    functionLinenumber: 550
    functionLinenumberEnd: 566
    functionName: icem_lite_set_default_candidates
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - icem_comp_set_default_cand
    linkageType: ''
    returnType: int
    signature: int icem_lite_set_default_candidates(struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icem_comp_set_default_cand
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: icem_comps_set_default_cand
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached:
    - icem_comp_set_default_cand
    linkageType: ''
    returnType: int
    signature: int icem_comps_set_default_cand(struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: icem_stun
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct stun
    signature: struct stun *icem_stun(struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:601,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:602,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/ice/icem.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - icem
    - fmt
    argTypes:
    - struct icem*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 6
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: icem_printf
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/icem.c
    functionUses: 1
    functionsReached:
    - re_printf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void icem_printf(struct icem *icem, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_conncheck_schedule_check
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:29,1
    - Dst: icem_checklist_update
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: pace_next
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - icem_checklist_update
    - icem_conncheck_schedule_check
    linkageType: ''
    returnType: void
    signature: void pace_next(struct icem *icem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:52,1
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:53,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:56,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:60,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:68,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:73,1
    - Dst: icem_candpair_make_valid
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:84,1
    - Dst: icem_candpair_find
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:86,1
    - Dst: icem_candpair_clone
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:90,1
    - Dst: icem_candpair_make_valid
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:94,1
    - Dst: icem_candpair_make_valid
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - icem
    - cp
    - mapped
    - dest
    argTypes:
    - struct icem*
    - struct ice_candpair*
    - struct sa*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 105
    functionName: construct_valid_pair
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - icem_cand_find
    - icem_candpair_make_valid
    - icem_candpair_clone
    - DEBUG_WARNING
    - icecomp_printf
    - icem_candpair_find
    linkageType: ''
    returnType: struct ice_candpair
    signature: "struct ice_candpair *construct_valid_pair(struct icem *icem,\n\t\t\t\t\t
      \    struct ice_candpair *cp,\n\t\t\t\t\t     const struct sa *mapped,\n\t\t\t\t\t
      \    const struct sa *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icem_cand_find
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:111,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:115,1
    - Dst: icem_lcand_add
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:118,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:121,1
    - Dst: construct_valid_pair
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:125,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:127,1
    - Dst: icem_candpair_make_valid
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:132,1
    - Dst: icem_comp_set_selected
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:133,1
    - Dst: icem_conncheck_stop
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - icem
    - cp
    - laddr
    argTypes:
    - struct icem*
    - struct ice_candpair*
    - struct sa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 108
    functionDepth: 8
    functionLinenumber: 108
    functionLinenumberEnd: 141
    functionName: handle_success
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - icem_cand_find
    - construct_valid_pair
    - icem_lcand_add
    - icem_conncheck_stop
    - DEBUG_WARNING
    - icem_comp_set_selected
    - icecomp_printf
    - icem_candpair_make_valid
    linkageType: ''
    returnType: void
    signature: "void handle_success(struct icem *icem, struct ice_candpair *cp,\n\t\t\t
      \  const struct sa *laddr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - err
    argTypes:
    - struct re_printf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: print_err
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int print_err(struct re_printf *pf, const int *err)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:165,1
    - Dst: icem_candpair_failed
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:172,1
    - Dst: stun_msg_attr
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:179,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:181,1
    - Dst: icem_candpair_failed
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:182,1
    - Dst: handle_success
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:186,1
    - Dst: ice_switch_local_role
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:190,1
    - Dst: icem_conncheck_send
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:191,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:195,1
    - Dst: icem_candpair_failed
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:197,1
    - Dst: pace_next
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - err
    - scode
    - reason
    - msg
    - arg
    argTypes:
    - int
    - uint16_t
    - char*
    - struct stun_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 155
    functionDepth: 9
    functionLinenumber: 155
    functionLinenumberEnd: 203
    functionName: stunc_resp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - handle_success
    - DEBUG_WARNING
    - pace_next
    - icem_candpair_failed
    - ice_switch_local_role
    - stun_msg_attr
    - icecomp_printf
    - icem_conncheck_send
    linkageType: ''
    returnType: void
    signature: "void stunc_resp_handler(int err, uint16_t scode, const char *reason,\n\t\t\t
      \      const struct stun_msg *msg, void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_set_state
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:216,1
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:218,1
    - Dst: ice_cand_calc_prio
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:222,1
    - Dst: icecomp_printf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:242,1
    - Dst: ice_candpair_state2name
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:244,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:256,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:260,1
    - Dst: turnc_add_chan
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:268,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:271,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:280,1
    - Dst: stun_request
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:281,1
    - Dst: str_len
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:284,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - cp
    - use_cand
    - trigged
    argTypes:
    - struct ice_candpair*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 206
    functionDepth: 7
    functionLinenumber: 206
    functionLinenumberEnd: 301
    functionName: icem_conncheck_send
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 3
    functionsReached:
    - re_snprintf
    - str_len
    - mem_deref
    - ice_cand_calc_prio
    - stun_request
    - DEBUG_WARNING
    - ice_candpair_state2name
    - icecomp_printf
    - icem_candpair_set_state
    - turnc_add_chan
    linkageType: ''
    returnType: int
    signature: int icem_conncheck_send(struct ice_candpair *cp, bool use_cand, bool
      trigged)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:307,1
    - Dst: struct icem*::chkh
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - icem
    - err
    argTypes:
    - struct icem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 315
    functionName: abort_ice
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - struct icem*::chkh
    linkageType: ''
    returnType: void
    signature: void abort_ice(struct icem *icem, int err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_conncheck_send
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:322,1
    - Dst: icem_candpair_failed
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:324,1
    - Dst: abort_ice
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:327,1
    - Dst: pace_next
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cp
    argTypes:
    - struct ice_candpair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 8
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: do_check
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - abort_ice
    - icem_conncheck_send
    - pace_next
    - icem_candpair_failed
    linkageType: ''
    returnType: void
    signature: void do_check(struct ice_candpair *cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icem_candpair_find_st
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:347,1
    - Dst: do_check
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:349,1
    - Dst: icem_candpair_find_st
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:357,1
    - Dst: do_check
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 341
    functionDepth: 9
    functionLinenumber: 341
    functionLinenumberEnd: 374
    functionName: icem_conncheck_schedule_check
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 2
    functionsReached:
    - do_check
    - icem_candpair_find_st
    linkageType: ''
    returnType: void
    signature: void icem_conncheck_schedule_check(struct icem *icem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pace_next
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: pace_timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - pace_next
    linkageType: ''
    returnType: void
    signature: void pace_timeout(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: icem_checklist_form
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:402,1
    - Dst: icem_printf
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:408,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:410,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 392
    functionDepth: 7
    functionLinenumber: 392
    functionLinenumberEnd: 416
    functionName: icem_conncheck_start
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - icem_checklist_form
    - tmr_start
    - list_count
    - icem_printf
    linkageType: ''
    returnType: int
    signature: int icem_conncheck_start(struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_isrunning
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:421,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - icem
    argTypes:
    - struct icem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: icem_conncheck_continue
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 0
    functionsReached:
    - tmr_start
    - tmr_isrunning
    linkageType: ''
    returnType: void
    signature: void icem_conncheck_continue(struct icem *icem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:438,1
    - Dst: icem_candpair_iscompleted
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:443,1
    - Dst: icem_candpair_cancel
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:444,1
    - Dst: icem_candpair_failed
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:445,1
    - Dst: icem_checklist_update
      Src: /src/rtpproxy/external/libre/src/ice/connchk.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - icem
    - err
    argTypes:
    - struct icem*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 450
    functionName: icem_conncheck_stop
    functionSourceFile: /src/rtpproxy/external/libre/src/ice/connchk.c
    functionUses: 1
    functionsReached:
    - icem_checklist_update
    - tmr_cancel
    - icem_candpair_iscompleted
    - icem_candpair_failed
    - icem_candpair_cancel
    linkageType: ''
    returnType: void
    signature: void icem_conncheck_stop(struct icem *icem, int err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:23,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:27,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:34,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:35,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 37
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/entry.c
    functionUses: 0
    functionsReached:
    - list_unlink
    - mem_deref
    - hash_unlink
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:50,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:56,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:60,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:66,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:66,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:70,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:70,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:74,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:78,1
    - Dst: va_arg
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:82,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:93,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:98,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:99,1
    - Dst: hash_fast_str
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:99,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - o
    - key
    - type
    argTypes:
    - struct odict*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: odict_entry_add
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/entry.c
    functionUses: 1
    functionsReached:
    - str_dup
    - hash_fast_str
    - va_arg
    - hash_append
    - mem_ref
    - list_append
    - va_start
    - mem_deref
    - mem_zalloc
    - va_end
    linkageType: ''
    returnType: int
    signature: "int odict_entry_add(struct odict *o, const char *key,\n\t\t    int
      type, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:111,1
    - Dst: odict_lookup
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - o
    - key
    argTypes:
    - struct odict*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: odict_entry_del
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/entry.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - odict_lookup
    linkageType: ''
    returnType: void
    signature: void odict_entry_del(struct odict *o, const char *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:122,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:128,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:132,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:136,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:140,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/entry.c:144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pf
    - e
    argTypes:
    - struct re_printf*
    - struct odict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 152
    functionName: odict_entry_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/entry.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int odict_entry_debug(struct re_printf *pf, const struct odict_entry
      *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum odict_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: odict_type_iscontainer
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool odict_type_iscontainer(enum odict_type type)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum odict_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: odict_type_isreal
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool odict_type_isreal(enum odict_type type)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum odict_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: odict_type_name
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/type.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *odict_type_name(enum odict_type type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: odict_lookup
      Src: /src/rtpproxy/external/libre/src/odict/get.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - o
    - type
    - key
    argTypes:
    - struct odict*
    - enum odict_type
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: odict_get_type
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/get.c
    functionUses: 0
    functionsReached:
    - odict_lookup
    linkageType: ''
    returnType: struct odict_entry
    signature: "struct odict_entry *odict_get_type(const struct odict *o,\n\t\t\t\t\t
      enum odict_type type, const char *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: odict_get_type
      Src: /src/rtpproxy/external/libre/src/odict/get.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - o
    - key
    argTypes:
    - struct odict*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: odict_string
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/get.c
    functionUses: 2
    functionsReached:
    - odict_get_type
    linkageType: ''
    returnType: char
    signature: char *odict_string(const struct odict *o, const char *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: odict_lookup
      Src: /src/rtpproxy/external/libre/src/odict/get.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - o
    - num
    - key
    argTypes:
    - struct odict*
    - uint64_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: odict_get_number
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/get.c
    functionUses: 3
    functionsReached:
    - odict_lookup
    linkageType: ''
    returnType: bool
    signature: bool odict_get_number(const struct odict *o, uint64_t *num, const char
      *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: odict_get_type
      Src: /src/rtpproxy/external/libre/src/odict/get.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - o
    - value
    - key
    argTypes:
    - struct odict*
    - bool*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: odict_get_boolean
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/get.c
    functionUses: 0
    functionsReached:
    - odict_get_type
    linkageType: ''
    returnType: bool
    signature: bool odict_get_boolean(const struct odict *o, bool *value, const char
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_clear
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:18,1
    - Dst: list_flush
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:19,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/odict.c
    functionUses: 0
    functionsReached:
    - hash_clear
    - mem_deref
    - list_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:32,1
    - Dst: hash_alloc
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:36,1
    - Dst: hash_valid_size
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:36,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - op
    - hash_size
    argTypes:
    - struct odict**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 47
    functionName: odict_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/odict.c
    functionUses: 2
    functionsReached:
    - hash_valid_size
    - mem_deref
    - mem_zalloc
    - hash_alloc
    linkageType: ''
    returnType: int
    signature: int odict_alloc(struct odict **op, uint32_t hash_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: list_head
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:57,1
    - Dst: hash_list
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:57,1
    - Dst: hash_fast_str
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:57,1
    - Dst: str_cmp
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - o
    - key
    argTypes:
    - struct odict*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: odict_lookup
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/odict.c
    functionUses: 3
    functionsReached:
    - hash_fast_str
    - str_cmp
    - list_head
    - hash_list
    linkageType: ''
    returnType: struct odict_entry
    signature: struct odict_entry *odict_lookup(const struct odict *o, const char
      *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:81,1
    - Dst: odict_count
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - o
    - nested
    argTypes:
    - struct odict*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: odict_count
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/odict.c
    functionUses: 1
    functionsReached:
    - odict_count
    - list_count
    linkageType: ''
    returnType: size_t
    signature: size_t odict_count(const struct odict *o, bool nested)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:112,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:118,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/odict/odict.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pf
    - o
    argTypes:
    - struct re_printf*
    - struct odict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: odict_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/odict/odict.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int odict_debug(struct re_printf *pf, const struct odict *o)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:24,1
    - Dst: odict_alloc
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:30,1
    - Dst: hash_bsize
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:30,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:34,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - name
    - idx
    - type
    - h
    argTypes:
    - char*
    - unsigned
    - enum odict_type
    - struct json_handlers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: container_add
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 0
    functionsReached:
    - odict_entry_add
    - odict_alloc
    - mem_deref
    - re_snprintf
    - hash_bsize
    linkageType: ''
    returnType: int
    signature: "int container_add(const char *name, unsigned idx,\n\t\t\t enum odict_type
      type, struct json_handlers *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - idx
    - h
    argTypes:
    - char*
    - unsigned
    - struct json_handlers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: object_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 0
    functionsReached:
    - container_add
    linkageType: ''
    returnType: int
    signature: "int object_handler(const char *name, unsigned idx,\n\t\t\t  struct
      json_handlers *h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - idx
    - h
    argTypes:
    - char*
    - unsigned
    - struct json_handlers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: array_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 0
    functionsReached:
    - container_add
    linkageType: ''
    returnType: int
    signature: "int array_handler(const char *name, unsigned idx,\n\t\t\t struct json_handlers
      *h)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:62,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:65,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:68,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:71,1
    - Dst: odict_entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - o
    - name
    - val
    argTypes:
    - struct odict*
    - char*
    - struct json_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 79
    functionName: entry_add
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 3
    functionsReached:
    - odict_entry_add
    linkageType: ''
    returnType: int
    signature: "int entry_add(struct odict *o, const char *name,\n\t\t     const struct
      json_value *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - val
    - arg
    argTypes:
    - char*
    - struct json_value*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: object_entry_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 0
    functionsReached:
    - entry_add
    linkageType: ''
    returnType: int
    signature: "int object_entry_handler(const char *name, const struct json_value
      *val,\n\t\t\t\tvoid *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_snprintf
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:97,1
    - Dst: entry_add
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - idx
    - val
    - arg
    argTypes:
    - unsigned
    - struct json_value*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: array_entry_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 0
    functionsReached:
    - entry_add
    - re_snprintf
    linkageType: ''
    returnType: int
    signature: "int array_entry_handler(unsigned idx, const struct json_value *val,\n\t\t\t
      \      void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: odict_alloc
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:113,1
    - Dst: json_decode
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:117,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode_odict.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - op
    - hash_size
    - str
    - len
    - maxdepth
    argTypes:
    - struct odict**
    - uint32_t
    - char*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: json_decode_odict
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode_odict.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - json_decode
    - odict_alloc
    linkageType: ''
    returnType: int
    signature: "int json_decode_odict(struct odict **op, uint32_t hash_size, const
      char *str,\n\t\t      size_t len, unsigned maxdepth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 29
    functionName: mypower10
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long double
    signature: long double mypower10(uint64_t e)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - c
    - pl
    argTypes:
    - struct pl*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: is_string
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_string(struct pl *c, const struct pl *pl)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mypower10
      Src: /src/rtpproxy/external/libre/src/json/decode.c:106,1
    - Dst: mypower10
      Src: /src/rtpproxy/external/libre/src/json/decode.c:108,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - d
    - isfloat
    - pl
    argTypes:
    - long double*
    - bool*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 117
    functionName: is_number
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached:
    - mypower10
    linkageType: ''
    returnType: bool
    signature: bool is_number(long double *d, bool *isfloat, const struct pl *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/rtpproxy/external/libre/src/json/decode.c:127,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/json/decode.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - str
    - pl
    argTypes:
    - char**
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: decode_name
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached:
    - is_string
    - re_sdprintf
    linkageType: ''
    returnType: int
    signature: int decode_name(char **str, const struct pl *pl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/rtpproxy/external/libre/src/json/decode.c:144,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/json/decode.c:146,1
    - Dst: is_number
      Src: /src/rtpproxy/external/libre/src/json/decode.c:149,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/json/decode.c:160,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/json/decode.c:165,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/json/decode.c:170,1
    - Dst: re_printf
      Src: /src/rtpproxy/external/libre/src/json/decode.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - val
    - pl
    argTypes:
    - struct json_value*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 180
    functionName: decode_value
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 3
    functionsReached:
    - is_string
    - re_sdprintf
    - pl_strcasecmp
    - re_printf
    - is_number
    linkageType: ''
    returnType: int
    signature: int decode_value(struct json_value *val, const struct pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: decode_name
      Src: /src/rtpproxy/external/libre/src/json/decode.c:190,1
    - Dst: decode_value
      Src: /src/rtpproxy/external/libre/src/json/decode.c:194,1
    - Dst: oeh
      Src: /src/rtpproxy/external/libre/src/json/decode.c:199,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode.c:202,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - pl_name
    - pl_val
    - oeh
    - arg
    argTypes:
    - struct pl*
    - struct pl*
    - json_object_entry_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 183
    functionDepth: 7
    functionLinenumber: 183
    functionLinenumberEnd: 208
    functionName: object_entry
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - oeh
    - decode_name
    - decode_value
    linkageType: ''
    returnType: int
    signature: "int object_entry(const struct pl *pl_name, const struct pl *pl_val,\n\t\t\tjson_object_entry_h
      *oeh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_value
      Src: /src/rtpproxy/external/libre/src/json/decode.c:217,1
    - Dst: aeh
      Src: /src/rtpproxy/external/libre/src/json/decode.c:222,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - idx
    - pl_val
    - aeh
    - arg
    argTypes:
    - unsigned
    - struct pl*
    - json_array_entry_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: array_entry
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - aeh
    - decode_value
    linkageType: ''
    returnType: int
    signature: "int array_entry(unsigned idx, const struct pl *pl_val,\n\t\t       json_array_entry_h
      *aeh, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_name
      Src: /src/rtpproxy/external/libre/src/json/decode.c:239,1
    - Dst: struct json_handlers*::oh
      Src: /src/rtpproxy/external/libre/src/json/decode.c:245,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pl_name
    - idx
    - h
    argTypes:
    - struct pl*
    - unsigned
    - struct json_handlers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: object_start
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - struct json_handlers*::oh
    - decode_name
    linkageType: ''
    returnType: int
    signature: "int object_start(const struct pl *pl_name, unsigned idx,\n\t\t\tstruct
      json_handlers *h)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_name
      Src: /src/rtpproxy/external/libre/src/json/decode.c:261,1
    - Dst: struct json_handlers*::ah
      Src: /src/rtpproxy/external/libre/src/json/decode.c:267,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/json/decode.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pl_name
    - idx
    - h
    argTypes:
    - struct pl*
    - unsigned
    - struct json_handlers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 253
    functionDepth: 6
    functionLinenumber: 253
    functionLinenumberEnd: 272
    functionName: array_start
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 1
    functionsReached:
    - mem_deref
    - struct json_handlers*::ah
    - decode_name
    linkageType: ''
    returnType: int
    signature: "int array_start(const struct pl *pl_name, unsigned idx,\n\t\t       struct
      json_handlers *h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - val
    - p
    argTypes:
    - struct pl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: chkval
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int chkval(struct pl *val, const char *p)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: chkval
      Src: /src/rtpproxy/external/libre/src/json/decode.c:314,1
    - Dst: chkval
      Src: /src/rtpproxy/external/libre/src/json/decode.c:322,1
    - Dst: object_entry
      Src: /src/rtpproxy/external/libre/src/json/decode.c:330,1
    - Dst: array_entry
      Src: /src/rtpproxy/external/libre/src/json/decode.c:336,1
    - Dst: object_start
      Src: /src/rtpproxy/external/libre/src/json/decode.c:360,1
    - Dst: _json_decode
      Src: /src/rtpproxy/external/libre/src/json/decode.c:366,1
    - Dst: array_start
      Src: /src/rtpproxy/external/libre/src/json/decode.c:391,1
    - Dst: _json_decode
      Src: /src/rtpproxy/external/libre/src/json/decode.c:397,1
    - Dst: chkval
      Src: /src/rtpproxy/external/libre/src/json/decode.c:416,1
    - Dst: object_entry
      Src: /src/rtpproxy/external/libre/src/json/decode.c:422,1
    - Dst: chkval
      Src: /src/rtpproxy/external/libre/src/json/decode.c:428,1
    - Dst: array_entry
      Src: /src/rtpproxy/external/libre/src/json/decode.c:431,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 111
    argCount: 9
    argNames:
    - str
    - len
    - depth
    - maxdepth
    - oh
    - ah
    - oeh
    - aeh
    - arg
    argTypes:
    - char**
    - size_t*
    - unsigned
    - unsigned
    - json_object_h*
    - json_array_h*
    - json_object_entry_h*
    - json_array_entry_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 286
    functionDepth: 8
    functionLinenumber: 286
    functionLinenumberEnd: 458
    functionName: _json_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 1
    functionsReached:
    - object_start
    - object_entry
    - array_start
    - array_entry
    - _json_decode
    - chkval
    linkageType: ''
    returnType: int
    signature: "int _json_decode(const char **str, size_t *len,\n\t\t\tunsigned depth,
      unsigned maxdepth,\n\t\t\tjson_object_h *oh, json_array_h *ah,\n\t\t\tjson_object_entry_h
      *oeh, json_array_entry_h *aeh,\n\t\t\tvoid *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _json_decode
      Src: /src/rtpproxy/external/libre/src/json/decode.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - str
    - len
    - maxdepth
    - oh
    - ah
    - oeh
    - aeh
    - arg
    argTypes:
    - char*
    - size_t
    - unsigned
    - json_object_h*
    - json_array_h*
    - json_object_entry_h*
    - json_array_entry_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 9
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: json_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/json/decode.c
    functionUses: 3
    functionsReached:
    - _json_decode
    linkageType: ''
    returnType: int
    signature: "int json_decode(const char *str, size_t len, unsigned maxdepth,\n\t\tjson_object_h
      *oh, json_array_h *ah,\n\t\tjson_object_entry_h *oeh, json_array_entry_h *aeh,
      void *arg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_encode_odict
      Src: /src/rtpproxy/external/libre/src/json/encode.c:25,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:33,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:39,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:44,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:48,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:52,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:56,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:60,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:64,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - pf
    - e
    argTypes:
    - struct re_printf*
    - struct odict_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 73
    functionName: encode_entry
    functionSourceFile: /src/rtpproxy/external/libre/src/json/encode.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - json_encode_odict
    - re_fprintf
    linkageType: ''
    returnType: int
    signature: int encode_entry(struct re_printf *pf, const struct odict_entry *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:84,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:90,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/json/encode.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pf
    - o
    argTypes:
    - struct re_printf*
    - struct odict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: json_encode_odict
    functionSourceFile: /src/rtpproxy/external/libre/src/json/encode.c
    functionUses: 1
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int json_encode_odict(struct re_printf *pf, const struct odict *o)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:37,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:39,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:41,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:43,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:45,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - name
    - val
    - arg
    argTypes:
    - struct pl*
    - struct pl*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: challenge_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/httpauth/digest.c
    functionUses: 1
    functionsReached:
    - pl_casecmp
    linkageType: ''
    returnType: void
    signature: "void challenge_decode(const struct pl *name, const struct pl *val,\n\t\t\t
      \    void *arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:57,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:59,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:61,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:63,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:65,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:67,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:69,1
    - Dst: pl_casecmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - name
    - val
    - arg
    argTypes:
    - struct pl*
    - struct pl*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: response_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/httpauth/digest.c
    functionUses: 1
    functionsReached:
    - pl_casecmp
    linkageType: ''
    returnType: void
    signature: "void response_decode(const struct pl *name, const struct pl *val,\n\t\t\t
      \   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:81,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:85,1
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:87,1
    - Dst: pl_advance
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:91,1
    - Dst: dech
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - hval
    - dech
    - arg
    argTypes:
    - struct pl*
    - digest_decode_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 97
    functionName: digest_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/httpauth/digest.c
    functionUses: 0
    functionsReached:
    - pl_advance
    - re_regex
    - dech
    linkageType: ''
    returnType: int
    signature: "int digest_decode(const struct pl *hval, digest_decode_h *dech,\n\t\t\t
      void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:116,1
    - Dst: digest_decode
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - chall
    - hval
    argTypes:
    - struct httpauth_digest_chall*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: httpauth_digest_challenge_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/httpauth/digest.c
    functionUses: 1
    functionsReached:
    - memset
    - digest_decode
    linkageType: ''
    returnType: int
    signature: "int httpauth_digest_challenge_decode(struct httpauth_digest_chall
      *chall,\n\t\t\t\t     const struct pl *hval)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:145,1
    - Dst: digest_decode
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - resp
    - hval
    argTypes:
    - struct httpauth_digest_resp*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: httpauth_digest_response_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/httpauth/digest.c
    functionUses: 1
    functionsReached:
    - memset
    - digest_decode
    linkageType: ''
    returnType: int
    signature: "int httpauth_digest_response_decode(struct httpauth_digest_resp *resp,\n\t\t\t\t
      \   const struct pl *hval)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:185,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:189,1
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:190,1
    - Dst: md5_printf
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:198,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:206,1
    - Dst: ch_hex
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:207,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/libre/src/httpauth/digest.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - resp
    - method
    - ha1
    argTypes:
    - struct httpauth_digest_resp*
    - struct pl*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: httpauth_digest_response_auth
    functionSourceFile: /src/rtpproxy/external/libre/src/httpauth/digest.c
    functionUses: 1
    functionsReached:
    - memcmp
    - ch_hex
    - pl_isset
    - md5_printf
    linkageType: ''
    returnType: int
    signature: "int httpauth_digest_response_auth(const struct httpauth_digest_resp
      *resp,\n\t\t\t\t  const struct pl *method, const uint8_t *ha1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: inspos_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inspos_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: inspos_handler_0
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inspos_handler_0(struct le *le, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:64,1
    - Dst: th
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:68,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:70,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - th
    - arg
    argTypes:
    - tmr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: call_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 2
    functionsReached:
    - th
    - tmr_jiffies
    - DEBUG_WARNING
    linkageType: ''
    returnType: void
    signature: void call_handler(tmr_h *th, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:87,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:94,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:105,1
    - Dst: call_handler
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:111,1
    - Dst: th
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - tmrl
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: tmr_poll
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 1
    functionsReached:
    - tmr_jiffies
    - list_ledata
    - list_unlink
    - call_handler
    - th
    linkageType: ''
    returnType: void
    signature: void tmr_poll(struct list *tmrl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:131,1
    - Dst: gettimeofday
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:138,1
    - Dst: DEBUG_WARNING
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 148
    functionName: tmr_jiffies
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 11
    functionsReached:
    - DEBUG_WARNING
    - gettimeofday
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tmr_jiffies(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:160,1
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tmrl
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: tmr_next_timeout
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 1
    functionsReached:
    - tmr_jiffies
    - list_ledata
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tmr_next_timeout(struct list *tmrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmrl_get
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:176,1
    - Dst: list_count
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:183,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:187,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:192,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:194,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pf
    - unused
    argTypes:
    - struct re_printf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: tmr_status
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 0
    functionsReached:
    - tmrl_get
    - re_hprintf
    - tmr_get_expire
    - list_count
    linkageType: ''
    returnType: int
    signature: int tmr_status(struct re_printf *pf, void *unused)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_isempty
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:209,1
    - Dst: tmrl_get
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:209,1
    - Dst: re_fprintf
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: tmr_debug
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 0
    functionsReached:
    - tmrl_get
    - list_isempty
    - re_fprintf
    linkageType: ''
    returnType: void
    signature: void tmr_debug(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tmr
    argTypes:
    - struct tmr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: tmr_init
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 8
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void tmr_init(struct tmr *tmr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tmrl_get
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:238,1
    - Dst: list_unlink
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:245,1
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:254,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:257,1
    - Dst: list_insert_before
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:259,1
    - Dst: list_append
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:262,1
    - Dst: list_apply
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:266,1
    - Dst: list_insert_after
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:268,1
    - Dst: list_prepend
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - tmr
    - delay
    - th
    - arg
    argTypes:
    - struct tmr*
    - uint64_t
    - tmr_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 274
    functionName: tmr_start
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 56
    functionsReached:
    - tmr_jiffies
    - list_apply
    - list_unlink
    - list_append
    - list_insert_before
    - tmrl_get
    - list_insert_after
    - list_prepend
    linkageType: ''
    returnType: void
    signature: void tmr_start(struct tmr *tmr, uint64_t delay, tmr_h *th, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmr
    argTypes:
    - struct tmr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: tmr_cancel
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 45
    functionsReached:
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void tmr_cancel(struct tmr *tmr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmr_jiffies
      Src: /src/rtpproxy/external/libre/src/tmr/tmr.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tmr
    argTypes:
    - struct tmr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: tmr_get_expire
    functionSourceFile: /src/rtpproxy/external/libre/src/tmr/tmr.c
    functionUses: 4
    functionsReached:
    - tmr_jiffies
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t tmr_get_expire(const struct tmr *tmr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sip
    - msg
    - arg
    argTypes:
    - struct sip*
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 9
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: internal_notify_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - sip_treply
    linkageType: ''
    returnType: void
    signature: "void internal_notify_handler(struct sip *sip, const struct sip_msg
      *msg,\n\t\t\t\t    void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - err
    - msg
    - substate
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - struct sipevent_substate*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: internal_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void internal_close_handler(int err, const struct sip_msg *msg,\n\t\t\t\t
      \  const struct sipevent_substate *substate,\n\t\t\t\t   void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:61,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:65,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:68,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:72,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct sipsub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 18
    functionsReached:
    - tmr_cancel
    - request
    - mem_ref
    linkageType: ''
    returnType: bool
    signature: bool terminate(struct sipsub *sub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:87,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:91,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:92,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:93,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:94,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:95,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:96,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:97,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:98,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:99,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:100,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:101,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    - terminate
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:113,1
    - Dst: sipsub_terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: notify_timeout_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - sipsub_terminate
    linkageType: ''
    returnType: void
    signature: void notify_timeout_handler(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:127,1
    - Dst: sipsub_reschedule
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:130,1
    - Dst: sipsub_terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - sipsub_reschedule
    - request
    - sipsub_terminate
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sub
    - wait
    argTypes:
    - struct sipsub*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: sipsub_reschedule
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 1
    functionsReached:
    - tmr_start
    linkageType: ''
    returnType: void
    signature: void sipsub_reschedule(struct sipsub *sub, uint64_t wait)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:154,1
    - Dst: closeh
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sub
    - err
    - msg
    - substate
    argTypes:
    - struct sipsub*
    - int
    - struct sip_msg*
    - struct sipevent_substate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: sipsub_terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 2
    functionsReached:
    - terminate
    - closeh
    linkageType: ''
    returnType: void
    signature: "void sipsub_terminate(struct sipsub *sub, int err, const struct sip_msg
      *msg,\n\t\t      const struct sipevent_substate *substate)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:165,1
    - Dst: sipsub_find
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:179,1
    - Dst: struct sipsub*::forkh
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:182,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:187,1
    - Dst: sip_dialog_established
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:192,1
    - Dst: sip_dialog_create
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:194,1
    - Dst: sip_dialog_cmp
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:203,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:206,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:216,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:230,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:231,1
    - Dst: sipsub_reschedule
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:235,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:246,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:252,1
    - Dst: sip_auth_reset
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:259,1
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:263,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:264,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:267,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:269,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:286,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:287,1
    - Dst: sipsub_reschedule
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:291,1
    - Dst: sipsub_terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:293,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 95
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 295
    functionName: response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - sip_dialog_update
    - sip_auth_authenticate
    - struct sipsub*::forkh
    - mem_deref
    - sip_request_loops
    - tmr_start
    - pl_isset
    - sipsub_reschedule
    - sip_dialog_established
    - sip_auth_reset
    - sipsub_terminate
    - sip_dialog_create
    - pl_u32
    - sip_dialog_cmp
    - request
    - sip_msg_hdr
    - sipsub_find
    linkageType: ''
    returnType: void
    signature: void response_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:305,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - tp
    - src
    - dst
    - mb
    - arg
    argTypes:
    - enum sip_transp
    - struct sa*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - sip_contact_set
    - mbuf_printf
    linkageType: ''
    returnType: int
    signature: "int send_handler(enum sip_transp tp, const struct sa *src,\n\t\t\tconst
      struct sa *dst, struct mbuf *mb, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:314,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - sub
    argTypes:
    - struct re_printf*
    - struct sipsub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: print_event
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int print_event(struct re_printf *pf, const struct sipsub *sub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sip_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:323,1
    - Dst: sip_dialog_lseq
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:327,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:329,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sub
    - reset_ls
    argTypes:
    - struct sipsub*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 320
    functionDepth: 9
    functionLinenumber: 320
    functionLinenumberEnd: 353
    functionName: request
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 48
    functionsReached:
    - sip_dialog_lseq
    - sip_drequestf
    - sip_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int request(struct sipsub *sub, bool reset_ls)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:376,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:381,1
    - Dst: sip_dialog_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:384,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:390,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:391,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:391,1
    - Dst: sip_auth_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:394,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:398,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:403,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:408,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:413,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:421,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:422,1
    - Dst: request
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:429,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:435,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 22
    argNames:
    - subp
    - sock
    - refer
    - dlg
    - uri
    - from_name
    - from_uri
    - event
    - id
    - expires
    - cuser
    - routev
    - routec
    - authh
    - aarg
    - aref
    - forkh
    - notifyh
    - closeh
    - arg
    - fmt
    - ap
    argTypes:
    - struct sipsub**
    - struct sipevent_sock*
    - bool
    - struct sip_dialog*
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint32_t
    - char*
    - char*[]
    - uint32_t
    - sip_auth_h*
    - void*
    - bool
    - sipsub_fork_h*
    - sipsub_notify_h*
    - sipsub_close_h*
    - void*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 356
    functionDepth: 7
    functionLinenumber: 356
    functionLinenumberEnd: 440
    functionName: sipsub_alloc
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - str_dup
    - hash_append
    - sip_auth_alloc
    - mem_ref
    - sip_dialog_callid
    - mem_deref
    - re_vsdprintf
    - mem_zalloc
    - request
    - sip_dialog_alloc
    - hash_joaat_str
    linkageType: ''
    returnType: int
    signature: "int sipsub_alloc(struct sipsub **subp, struct sipevent_sock *sock,\n\t\t\tbool
      refer, struct sip_dialog *dlg, const char *uri,\n\t\t\tconst char *from_name,
      const char *from_uri,\n\t\t\tconst char *event, const char *id, uint32_t expires,\n\t\t\tconst
      char *cuser,\n\t\t\tconst char *routev[], uint32_t routec,\n\t\t\tsip_auth_h
      *authh, void *aarg, bool aref,\n\t\t\tsipsub_fork_h *forkh, sipsub_notify_h
      *notifyh,\n\t\t\tsipsub_close_h *closeh, void *arg,\n\t\t\tconst char *fmt,
      va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:481,1
    - Dst: sipsub_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:482,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 19
    argNames:
    - subp
    - sock
    - uri
    - from_name
    - from_uri
    - event
    - id
    - expires
    - cuser
    - routev
    - routec
    - authh
    - aarg
    - aref
    - forkh
    - notifyh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipsub**
    - struct sipevent_sock*
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint32_t
    - char*
    - char*[]
    - uint32_t
    - sip_auth_h*
    - void*
    - bool
    - sipsub_fork_h*
    - sipsub_notify_h*
    - sipsub_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 468
    functionDepth: 8
    functionLinenumber: 468
    functionLinenumberEnd: 489
    functionName: sipevent_subscribe
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sipsub_alloc
    linkageType: ''
    returnType: int
    signature: "int sipevent_subscribe(struct sipsub **subp, struct sipevent_sock
      *sock,\n\t\t       const char *uri, const char *from_name,\n\t\t       const
      char *from_uri, const char *event, const char *id,\n\t\t       uint32_t expires,
      const char *cuser,\n\t\t       const char *routev[], uint32_t routec,\n\t\t
      \      sip_auth_h *authh, void *aarg, bool aref,\n\t\t       sipsub_fork_h *forkh,
      sipsub_notify_h *notifyh,\n\t\t       sipsub_close_h *closeh, void *arg,\n\t\t
      \      const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:522,1
    - Dst: sipsub_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:523,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 14
    argNames:
    - subp
    - sock
    - dlg
    - event
    - id
    - expires
    - cuser
    - authh
    - aarg
    - aref
    - notifyh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipsub**
    - struct sipevent_sock*
    - struct sip_dialog*
    - char*
    - char*
    - uint32_t
    - char*
    - sip_auth_h*
    - void*
    - bool
    - sipsub_notify_h*
    - sipsub_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 8
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: sipevent_dsubscribe
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sipsub_alloc
    linkageType: ''
    returnType: int
    signature: "int sipevent_dsubscribe(struct sipsub **subp, struct sipevent_sock
      *sock,\n\t\t\tstruct sip_dialog *dlg, const char *event,\n\t\t\tconst char *id,
      uint32_t expires, const char *cuser,\n\t\t\tsip_auth_h *authh, void *aarg, bool
      aref,\n\t\t\tsipsub_notify_h *notifyh, sipsub_close_h *closeh,\n\t\t\tvoid *arg,
      const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:567,1
    - Dst: sipsub_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:568,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 16
    argNames:
    - subp
    - sock
    - uri
    - from_name
    - from_uri
    - cuser
    - routev
    - routec
    - authh
    - aarg
    - aref
    - forkh
    - notifyh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipsub**
    - struct sipevent_sock*
    - char*
    - char*
    - char*
    - char*
    - char*[]
    - uint32_t
    - sip_auth_h*
    - void*
    - bool
    - sipsub_fork_h*
    - sipsub_notify_h*
    - sipsub_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 555
    functionDepth: 8
    functionLinenumber: 555
    functionLinenumberEnd: 575
    functionName: sipevent_refer
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sipsub_alloc
    linkageType: ''
    returnType: int
    signature: "int sipevent_refer(struct sipsub **subp, struct sipevent_sock *sock,\n\t\t
      \  const char *uri, const char *from_name,\n\t\t   const char *from_uri, const
      char *cuser,\n\t\t   const char *routev[], uint32_t routec,\n\t\t   sip_auth_h
      *authh, void *aarg, bool aref,\n\t\t   sipsub_fork_h *forkh, sipsub_notify_h
      *notifyh,\n\t\t   sipsub_close_h *closeh, void *arg,\n\t\t   const char *fmt,
      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:604,1
    - Dst: sipsub_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:605,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - subp
    - sock
    - dlg
    - cuser
    - authh
    - aarg
    - aref
    - notifyh
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipsub**
    - struct sipevent_sock*
    - struct sip_dialog*
    - char*
    - sip_auth_h*
    - void*
    - bool
    - sipsub_notify_h*
    - sipsub_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 595
    functionDepth: 8
    functionLinenumber: 595
    functionLinenumberEnd: 612
    functionName: sipevent_drefer
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sipsub_alloc
    linkageType: ''
    returnType: int
    signature: "int sipevent_drefer(struct sipsub **subp, struct sipevent_sock *sock,\n\t\t
      \   struct sip_dialog *dlg, const char *cuser,\n\t\t    sip_auth_h *authh, void
      *aarg, bool aref,\n\t\t    sipsub_notify_h *notifyh, sipsub_close_h *closeh,\n\t\t
      \   void *arg, const char *fmt, ...)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:627,1
    - Dst: sip_dialog_fork
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:631,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:635,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:636,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:636,1
    - Dst: sip_auth_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:639,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:643,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:644,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:645,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:646,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:648,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:649,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:657,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/subscribe.c:664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 9
    argNames:
    - subp
    - osub
    - msg
    - authh
    - aarg
    - aref
    - notifyh
    - closeh
    - arg
    argTypes:
    - struct sipsub**
    - struct sipsub*
    - struct sip_msg*
    - sip_auth_h*
    - void*
    - bool
    - sipsub_notify_h*
    - sipsub_close_h*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 615
    functionDepth: 6
    functionLinenumber: 615
    functionLinenumberEnd: 669
    functionName: sipevent_fork
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
    functionUses: 0
    functionsReached:
    - hash_append
    - sip_auth_alloc
    - mem_ref
    - sip_dialog_callid
    - mem_deref
    - tmr_start
    - mem_zalloc
    - sip_dialog_fork
    - hash_joaat_str
    linkageType: ''
    returnType: int
    signature: "int sipevent_fork(struct sipsub **subp, struct sipsub *osub,\n\t\t
      \ const struct sip_msg *msg,\n\t\t  sip_auth_h *authh, void *aarg, bool aref,\n\t\t
      \ sipsub_notify_h *notifyh, sipsub_close_h *closeh,\n\t\t  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:31,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:32,1
    - Dst: hash_flush
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:33,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:34,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - mem_deref
    - hash_flush
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:43,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:46,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:49,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:53,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - evt
    - event
    - id
    - refer_cseq
    argTypes:
    - struct sipevent_event*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: event_cmp
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - pl_strcmp
    - pl_u32
    - pl_isset
    linkageType: ''
    returnType: bool
    signature: "bool event_cmp(const struct sipevent_event *evt,\n\t\t      const
      char *event, const char *id,\n\t\t      int32_t refer_cseq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_dialog_cmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:71,1
    - Dst: event_cmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: not_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - event_cmp
    - sip_dialog_cmp
    linkageType: ''
    returnType: bool
    signature: bool not_cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_dialog_cmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:81,1
    - Dst: event_cmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: sub_cmp_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - event_cmp
    - sip_dialog_cmp
    linkageType: ''
    returnType: bool
    signature: bool sub_cmp_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_dialog_cmp_half
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:92,1
    - Dst: sip_dialog_established
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:93,1
    - Dst: event_cmp
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - le
    - arg
    argTypes:
    - struct le*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: sub_cmp_half_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - sip_dialog_cmp_half
    - event_cmp
    - sip_dialog_established
    linkageType: ''
    returnType: bool
    signature: bool sub_cmp_half_handler(struct le *le, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:108,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:108,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sock
    - msg
    - evt
    argTypes:
    - struct sipevent_sock*
    - struct sip_msg*
    - struct sipevent_event*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: sipnot_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - hash_joaat_pl
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct sipnot
    signature: "struct sipnot *sipnot_find(struct sipevent_sock *sock,\n\t\t\t\t  const
      struct sip_msg *msg,\n\t\t\t\t  const struct sipevent_event *evt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_ledata
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:123,1
    - Dst: hash_lookup
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:123,1
    - Dst: hash_joaat_pl
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sock
    - msg
    - evt
    - full
    argTypes:
    - struct sipevent_sock*
    - struct sip_msg*
    - struct sipevent_event*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: sipsub_find
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 1
    functionsReached:
    - hash_joaat_pl
    - list_ledata
    - hash_lookup
    linkageType: ''
    returnType: struct sipsub
    signature: "struct sipsub *sipsub_find(struct sipevent_sock *sock,\n\t\t\t   const
      struct sip_msg *msg,\n\t\t\t   const struct sipevent_event *evt, bool full)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:142,1
    - Dst: sipevent_event_decode
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:143,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:144,1
    - Dst: sip_msg_hdr
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:148,1
    - Dst: sipevent_substate_decode
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:149,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:150,1
    - Dst: sipsub_find
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:154,1
    - Dst: sipsub_find
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:156,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:158,1
    - Dst: struct sipsub*::forkh
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:167,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:169,1
    - Dst: str_error
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:170,1
    - Dst: sip_dialog_create
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:177,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:179,1
    - Dst: str_error
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:180,1
    - Dst: sip_dialog_rseq_valid
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:186,1
    - Dst: sip_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:187,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:191,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:194,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:196,1
    - Dst: sip_treply
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:198,1
    - Dst: str_error
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:199,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:212,1
    - Dst: sipsub_reschedule
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:213,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:213,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:222,1
    - Dst: struct sipsub*::notifyh
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:223,1
    - Dst: mem_nrefs
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:224,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:225,1
    - Dst: sipsub_terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:235,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:239,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/listen.c:240,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 2
    argNames:
    - sock
    - msg
    argTypes:
    - struct sipevent_sock*
    - struct sip_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 130
    functionDepth: 9
    functionLinenumber: 130
    functionLinenumberEnd: 243
    functionName: notify_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/listen.c
    functionUses: 0
    functionsReached:
    - sipevent_substate_decode
    - sip_dialog_rseq_valid
    - pl_u32
    - str_error
    - sip_dialog_create
    - sip_treply
    - struct sipsub*::notifyh
    - sip_dialog_update
    - pl_strdup
    - struct sipsub*::forkh
    - mem_ref
    - mem_deref
    - mem_nrefs
    - sipsub_terminate
    - sip_reply
    - sip_msg_hdr
    - sipsub_find
    - pl_isset
    - sipsub_reschedule
    - sipevent_event_decode
    - tmr_cancel
    linkageType: ''
    returnType: void
    signature: "void notify_handler(struct sipevent_sock *sock,\n\t\t\t   const struct
      sip_msg *msg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:25,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - se
    - pl
    argTypes:
    - struct sipevent_event*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 17
    functionDepth: 6
    functionLinenumber: 17
    functionLinenumberEnd: 36
    functionName: sipevent_event_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/msg.c
    functionUses: 1
    functionsReached:
    - msg_param_decode
    - re_regex
    linkageType: ''
    returnType: int
    signature: int sipevent_event_decode(struct sipevent_event *se, const struct pl
      *pl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: re_regex
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:47,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:52,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:54,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:56,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:61,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:63,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:65,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:67,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:69,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:71,1
    - Dst: pl_strcasecmp
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:73,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:82,1
    - Dst: msg_param_decode
      Src: /src/rtpproxy/external/libre/src/sipevent/msg.c:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - ss
    - pl
    argTypes:
    - struct sipevent_substate*
    - struct pl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 93
    functionName: sipevent_substate_decode
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/msg.c
    functionUses: 1
    functionsReached:
    - msg_param_decode
    - pl_strcasecmp
    - re_regex
    linkageType: ''
    returnType: int
    signature: int sipevent_substate_decode(struct sipevent_substate *ss, const struct
      pl *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum sipevent_subst
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: sipevent_substate_name
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sipevent_substate_name(enum sipevent_subst state)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - enum sipevent_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: sipevent_reason_name
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *sipevent_reason_name(enum sipevent_reason reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: internal_close_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void internal_close_handler(int err, const struct sip_msg *msg,\n\t\t\t\t
      \  void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - not
    - reason
    argTypes:
    - struct sipnot*
    - enum sipevent_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 24
    functionsReached:
    - notify_request
    linkageType: ''
    returnType: bool
    signature: bool terminate(struct sipnot *not, enum sipevent_reason reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:58,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:62,1
    - Dst: hash_unlink
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:66,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:67,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:68,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:69,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:70,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:71,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:72,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:73,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:74,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:75,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:76,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: destructor
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - mem_deref
    - hash_unlink
    - terminate
    linkageType: ''
    returnType: void
    signature: void destructor(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:91,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:92,1
    - Dst: closeh
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - not
    - err
    - msg
    - reason
    argTypes:
    - struct sipnot*
    - int
    - struct sip_msg*
    - enum sipevent_reason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: sipnot_terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - tmr_cancel
    - terminate
    - closeh
    linkageType: ''
    returnType: void
    signature: "void sipnot_terminate(struct sipnot *not, int err,\n\t\t\t     const
      struct sip_msg *msg,\n\t\t\t     enum sipevent_reason reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: tmr_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tmr_handler(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:111,1
    - Dst: tmr_start
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - not
    - expires
    argTypes:
    - struct sipnot*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: sipnot_refresh
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - tmr_start
    - min
    linkageType: ''
    returnType: void
    signature: void sipnot_refresh(struct sipnot *not, uint32_t expires)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: sip_request_loops
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:127,1
    - Dst: sip_dialog_update
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:137,1
    - Dst: sip_auth_authenticate
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:144,1
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:150,1
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:165,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:166,1
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:172,1
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:184,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:186,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:193,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:195,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:205,1
    - Dst: sipevent_reason_name
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:206,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:209,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:215,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:217,1
    - Dst: sipevent_substate_name
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:218,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:229,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:233,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:239,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:240,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:241,1
    - Dst: sip_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:248,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:255,1
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:280,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:290,1
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:292,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:294,1
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:321,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:325,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:327,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:331,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:341,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:345,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:347,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:354,1
    - Dst: sip_dialog_accept
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:357,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:362,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:363,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:363,1
    - Dst: sip_auth_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:366,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:370,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:374,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:381,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:382,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:383,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:392,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:393,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:397,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:398,1
    - Dst: sipnot_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:404,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:412,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:428,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:429,1
    - Dst: sipnot_notify
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:437,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:440,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:442,1
    - Dst: sipevent_notify
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:463,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:465,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:469,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:470,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:471,1
    - Dst: sipevent_notify
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:477,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:483,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 216
    argCount: 3
    argNames:
    - err
    - msg
    - arg
    argTypes:
    - int
    - struct sip_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 117
    functionDepth: 9
    functionLinenumber: 117
    functionLinenumberEnd: 488
    functionName: response_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - sip_auth_authenticate
    - mbuf_buf
    - hash_append
    - sip_auth_alloc
    - mbuf_vprintf
    - sip_dialog_callid
    - sip_request_loops
    - terminate
    - tmr_get_expire
    - mem_zalloc
    - pl_u32
    - mbuf_get_left
    - sip_dialog_accept
    - hash_joaat_str
    - re_vsdprintf
    - sip_contact_set
    - mbuf_printf
    - notify_request
    - va_end
    - sip_dialog_update
    - str_dup
    - sipnot_reply
    - re_sdprintf
    - pl_strdup
    - mem_ref
    - mem_deref
    - pl_strcmp
    - sip_loopstate_reset
    - sipevent_substate_name
    - sipevent_notify
    - mbuf_alloc
    - sip_treplyf
    - va_start
    - pl_isset
    - re_hprintf
    - tmr_cancel
    - sip_drequestf
    - sipnot_notify
    - sipevent_reason_name
    linkageType: ''
    returnType: void
    signature: void response_handler(int err, const struct sip_msg *msg, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: sipnot_terminate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - notify_request
    linkageType: ''
    returnType: void
    signature: "void sipnot_terminate(not, err, msg, -1);\n\t}\n\telse if (not->notify_pending)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:184,1
    - Dst: mbuf_printf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - tp
    - src
    - dst
    - mb
    - arg
    argTypes:
    - enum sip_transp
    - struct sa*
    - struct sa*
    - struct mbuf*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: send_handler
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - sip_contact_set
    - mbuf_printf
    linkageType: ''
    returnType: int
    signature: "int send_handler(enum sip_transp tp, const struct sa *src,\n\t\t\tconst
      struct sa *dst, struct mbuf *mb, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:193,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - not
    argTypes:
    - struct re_printf*
    - struct sipnot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: print_event
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    linkageType: ''
    returnType: int
    signature: int print_event(struct re_printf *pf, const struct sipnot *not)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:205,1
    - Dst: sipevent_reason_name
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:206,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:209,1
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:215,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:217,1
    - Dst: sipevent_substate_name
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pf
    - not
    argTypes:
    - struct re_printf*
    - struct sipnot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: print_substate
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - sipevent_substate_name
    - re_hprintf
    - tmr_get_expire
    - sipevent_reason_name
    linkageType: ''
    returnType: int
    signature: int print_substate(struct re_printf *pf, const struct sipnot *not)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:229,1
    - Dst: re_hprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:233,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:239,1
    - Dst: mbuf_buf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:240,1
    - Dst: mbuf_get_left
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - not
    argTypes:
    - struct re_printf*
    - struct sipnot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: print_content
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - re_hprintf
    - mbuf_buf
    - mbuf_get_left
    linkageType: ''
    returnType: int
    signature: int print_content(struct re_printf *pf, const struct sipnot *not)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sip_loopstate_reset
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:248,1
    - Dst: sip_drequestf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - not
    - reset_ls
    argTypes:
    - struct sipnot*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 245
    functionDepth: 9
    functionLinenumber: 245
    functionLinenumberEnd: 266
    functionName: notify_request
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 3
    functionsReached:
    - sip_drequestf
    - sip_loopstate_reset
    linkageType: ''
    returnType: int
    signature: int notify_request(struct sipnot *not, bool reset_ls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: notify_request
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - not
    argTypes:
    - struct sipnot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 10
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: sipnot_notify
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 1
    functionsReached:
    - notify_request
    linkageType: ''
    returnType: int
    signature: int sipnot_notify(struct sipnot *not)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmr_get_expire
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:290,1
    - Dst: sip_contact_set
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:292,1
    - Dst: sip_treplyf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - not
    - msg
    - scode
    - reason
    argTypes:
    - struct sipnot*
    - struct sip_msg*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 8
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: sipnot_reply
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 1
    functionsReached:
    - tmr_get_expire
    - sip_contact_set
    - sip_treplyf
    linkageType: ''
    returnType: int
    signature: "int sipnot_reply(struct sipnot *not, const struct sip_msg *msg,\n\t\t
      uint16_t scode, const char *reason)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mem_zalloc
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:321,1
    - Dst: pl_strcmp
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:325,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:327,1
    - Dst: re_sdprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:331,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:341,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:345,1
    - Dst: pl_strdup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:347,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:354,1
    - Dst: sip_dialog_accept
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:357,1
    - Dst: hash_append
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:362,1
    - Dst: hash_joaat_str
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:363,1
    - Dst: sip_dialog_callid
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:363,1
    - Dst: sip_auth_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:366,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:370,1
    - Dst: str_dup
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:374,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:381,1
    - Dst: re_vsdprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:382,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:383,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:392,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:393,1
    - Dst: pl_isset
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:397,1
    - Dst: pl_u32
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:398,1
    - Dst: sipnot_reply
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:404,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:412,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 18
    argNames:
    - notp
    - sock
    - msg
    - dlg
    - event
    - scode
    - reason
    - expires_min
    - expires_dfl
    - expires_max
    - cuser
    - ctype
    - authh
    - aarg
    - aref
    - closeh
    - arg
    - fmt
    argTypes:
    - struct sipnot**
    - struct sipevent_sock*
    - struct sip_msg*
    - struct sip_dialog*
    - struct sipevent_event*
    - uint16_t
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    - char*
    - char*
    - sip_auth_h*
    - void*
    - bool
    - sipnot_close_h*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 304
    functionDepth: 9
    functionLinenumber: 304
    functionLinenumberEnd: 417
    functionName: sipevent_accept
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - str_dup
    - sipnot_reply
    - hash_append
    - sip_auth_alloc
    - re_sdprintf
    - pl_strdup
    - mem_ref
    - sip_dialog_callid
    - pl_strcmp
    - va_start
    - pl_isset
    - mem_deref
    - hash_joaat_str
    - mem_zalloc
    - re_vsdprintf
    - pl_u32
    - va_end
    - sip_dialog_accept
    linkageType: ''
    returnType: int
    signature: "int sipevent_accept(struct sipnot **notp, struct sipevent_sock *sock,\n\t\t
      \   const struct sip_msg *msg, struct sip_dialog *dlg,\n\t\t    const struct
      sipevent_event *event,\n\t\t    uint16_t scode, const char *reason, uint32_t
      expires_min,\n\t\t    uint32_t expires_dfl, uint32_t expires_max,\n\t\t    const
      char *cuser, const char *ctype,\n\t\t    sip_auth_h *authh, void *aarg, bool
      aref,\n\t\t    sipnot_close_h *closeh, void *arg, const char *fmt, ...)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:428,1
    - Dst: mem_ref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:429,1
    - Dst: sipnot_notify
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:437,1
    - Dst: tmr_cancel
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:440,1
    - Dst: terminate
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - not
    - mb
    - state
    - reason
    - retry_after
    argTypes:
    - struct sipnot*
    - struct mbuf*
    - enum sipevent_subst
    - enum sipevent_reason
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 420
    functionDepth: 11
    functionLinenumber: 420
    functionLinenumberEnd: 448
    functionName: sipevent_notify
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 1
    functionsReached:
    - mem_ref
    - mem_deref
    - terminate
    - tmr_cancel
    - sipnot_notify
    linkageType: ''
    returnType: int
    signature: "int sipevent_notify(struct sipnot *not, struct mbuf *mb,\n\t\t    enum
      sipevent_subst state, enum sipevent_reason reason,\n\t\t    uint32_t retry_after)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sipevent_notify
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:463,1
    - Dst: mbuf_alloc
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:465,1
    - Dst: va_start
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:469,1
    - Dst: mbuf_vprintf
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:470,1
    - Dst: va_end
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:471,1
    - Dst: sipevent_notify
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:477,1
    - Dst: mem_deref
      Src: /src/rtpproxy/external/libre/src/sipevent/notify.c:483,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 6
    argNames:
    - not
    - mbp
    - state
    - reason
    - retry_after
    - fmt
    argTypes:
    - struct sipnot*
    - struct mbuf**
    - enum sipevent_subst
    - enum sipevent_reason
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 451
    functionDepth: 12
    functionLinenumber: 451
    functionLinenumberEnd: 488
    functionName: sipevent_notifyf
    functionSourceFile: /src/rtpproxy/external/libre/src/sipevent/notify.c
    functionUses: 0
    functionsReached:
    - mbuf_vprintf
    - va_start
    - mem_deref
    - va_end
    - sipevent_notify
    - mbuf_alloc
    linkageType: ''
    returnType: int
    signature: "int sipevent_notifyf(struct sipnot *not, struct mbuf **mbp,\n\t\t
      \    enum sipevent_subst state, enum sipevent_reason reason,\n\t\t     uint32_t
      retry_after, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: MBUF_CHECK_POS
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBUF_CHECK_POS(mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: MBUF_CHECK_END
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBUF_CHECK_END(mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: mbuf_buf
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *mbuf_buf(const struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: mbuf_get_left
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mbuf_get_left(const struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: mbuf_get_space
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mbuf_get_space(const struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBUF_CHECK_POS
      Src: /src/rtpproxy/external/libre/include/re_mbuf.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mb
    - pos
    argTypes:
    - struct mbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: mbuf_set_pos
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 2
    functionsReached:
    - MBUF_CHECK_POS
    linkageType: ''
    returnType: void
    signature: void mbuf_set_pos(struct mbuf *mb, size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBUF_CHECK_END
      Src: /src/rtpproxy/external/libre/include/re_mbuf.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mb
    - end
    argTypes:
    - struct mbuf*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: mbuf_set_end
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 2
    functionsReached:
    - MBUF_CHECK_END
    linkageType: ''
    returnType: void
    signature: void mbuf_set_end(struct mbuf *mb, size_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBUF_CHECK_POS
      Src: /src/rtpproxy/external/libre/include/re_mbuf.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mb
    - n
    argTypes:
    - struct mbuf*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: mbuf_advance
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 6
    functionsReached:
    - MBUF_CHECK_POS
    linkageType: ''
    returnType: void
    signature: void mbuf_advance(struct mbuf *mb, ssize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: mbuf_rewind
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbuf_rewind(struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mb
    argTypes:
    - struct mbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: mbuf_skip_to_end
    functionSourceFile: /src/rtpproxy/external/libre/include/re_mbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbuf_skip_to_end(struct mbuf *mb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: BITV_NELEM
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITV_NELEM(nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - nbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: BITV_DECL
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITV_DECL(name, nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: index2offset
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t index2offset(uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: index2bit
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bitv_t
    signature: bitv_t index2bit(uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:37,1
    - Dst: BITV_NELEM
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bv
    - nbits
    - val
    argTypes:
    - bitv_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: bitv_init
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - BITV_NELEM
    - memset
    linkageType: ''
    returnType: void
    signature: void bitv_init(bitv_t *bv, uint32_t nbits, bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index2offset
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:42,1
    - Dst: index2bit
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bv
    - i
    argTypes:
    - bitv_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: bitv_set
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - index2bit
    - index2offset
    linkageType: ''
    returnType: void
    signature: void bitv_set(bitv_t *bv, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index2offset
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:47,1
    - Dst: index2bit
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bv
    - i
    argTypes:
    - bitv_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: bitv_clr
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - index2bit
    - index2offset
    linkageType: ''
    returnType: void
    signature: void bitv_clr(bitv_t *bv, uint32_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitv_set
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:53,1
    - Dst: bitv_clr
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - bv
    - i
    - val
    argTypes:
    - bitv_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: bitv_assign
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - bitv_clr
    - bitv_set
    linkageType: ''
    returnType: void
    signature: void bitv_assign(bitv_t *bv, uint32_t i, bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index2offset
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:60,1
    - Dst: index2bit
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bv
    - i
    argTypes:
    - bitv_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: bitv_val
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - index2bit
    - index2offset
    linkageType: ''
    returnType: bool
    signature: bool bitv_val(const bitv_t *bv, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: index2offset
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:65,1
    - Dst: index2bit
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bv
    - i
    argTypes:
    - bitv_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: bitv_toggle
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - index2bit
    - index2offset
    linkageType: ''
    returnType: void
    signature: void bitv_toggle(bitv_t *bv, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitv_assign
      Src: /src/rtpproxy/external/libre/include/re_bitv.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - bv
    - i
    - n
    - val
    argTypes:
    - bitv_t*
    - uint32_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: bitv_assign_range
    functionSourceFile: /src/rtpproxy/external/libre/include/re_bitv.h
    functionUses: 0
    functionsReached:
    - bitv_assign
    linkageType: ''
    returnType: void
    signature: "void bitv_assign_range(bitv_t *bv, uint32_t i, uint32_t n,\n\t\t\t\t
      \    bool val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ARRAY_SIZE
    functionSourceFile: /src/rtpproxy/external/libre/include/re_types.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: ALIGN_MASK
    functionSourceFile: /src/rtpproxy/external/libre/include/re_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN_MASK(x, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: MIN
    functionSourceFile: /src/rtpproxy/external/libre/include/re_types.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: MAX
    functionSourceFile: /src/rtpproxy/external/libre/include/re_types.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: min
    functionSourceFile: /src/rtpproxy/external/libre/include/re_types.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: max
    functionSourceFile: /src/rtpproxy/external/libre/include/re_types.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: DEBUG_WARNING
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 128
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_WARNING(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: DEBUG_NOTICE
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_NOTICE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: DEBUG_INFO
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_INFO(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: DEBUG_PRINTF
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRINTF(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - a
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: DEBUG_WARNING
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 128
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_WARNING(a...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - a
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: DEBUG_NOTICE
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_NOTICE(a...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - a
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: DEBUG_INFO
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_INFO(a...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - a
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: DEBUG_PRINTF
    functionSourceFile: /src/rtpproxy/external/libre/include/re_dbg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRINTF(a...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sys_usleep
      Src: /src/rtpproxy/external/libre/include/re_sys.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: sys_msleep
    functionSourceFile: /src/rtpproxy/external/libre/include/re_sys.h
    functionUses: 0
    functionsReached:
    - sys_usleep
    linkageType: ''
    returnType: void
    signature: void sys_msleep(unsigned int ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: list_ledata
    functionSourceFile: /src/rtpproxy/external/libre/include/re_list.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *list_ledata(const struct le *le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - le
    argTypes:
    - struct list*
    - struct le*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: list_contains
    functionSourceFile: /src/rtpproxy/external/libre/include/re_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool list_contains(const struct list *list, const struct le *le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: list_isempty
    functionSourceFile: /src/rtpproxy/external/libre/include/re_list.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool list_isempty(const struct list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - le
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: LIST_FOREACH
    functionSourceFile: /src/rtpproxy/external/libre/include/re_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FOREACH(list, le)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmr
    argTypes:
    - struct tmr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: tmr_isrunning
    functionSourceFile: /src/rtpproxy/external/libre/include/re_tmr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool tmr_isrunning(const struct tmr *tmr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: PL
    functionSourceFile: /src/rtpproxy/external/libre/include/re_fmt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PL(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pl
    - n
    argTypes:
    - struct pl*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pl_advance
    functionSourceFile: /src/rtpproxy/external/libre/include/re_fmt.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pl_advance(struct pl *pl, ssize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: str_isset
    functionSourceFile: /src/rtpproxy/external/libre/include/re_fmt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool str_isset(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd_p
    argTypes:
    - struct _prdic_FD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: _prdic_FD_init
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _prdic_FD_init(struct _prdic_FD *fd_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timespeciszero
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c:49,1
    - Dst: timespecsub2
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c:53,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fd_p
    - tclk
    argTypes:
    - struct _prdic_FD*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: _prdic_FD_get_error
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c
    functionUses: 0
    functionsReached:
    - timespec2dtime
    - timespecsub2
    - timespeciszero
    linkageType: ''
    returnType: double
    signature: double _prdic_FD_get_error(struct _prdic_FD *fd_p, const struct timespec
      *tclk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c:63,1
    - Dst: NSEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd_p
    argTypes:
    - struct _prdic_FD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: _prdic_FD_reset
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c
    functionUses: 0
    functionsReached:
    - NSEC
    - SEC
    linkageType: ''
    returnType: void
    signature: void _prdic_FD_reset(struct _prdic_FD *fd_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prdic_CFT_serve
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:58,1
    - Dst: prdic_sign_unblock
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:59,1
    - Dst: dtime2timespec
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:66,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:72,1
    - Dst: prdic_sign_getnrecv
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:74,1
    - Dst: nanosleep
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:76,1
    - Dst: prdic_sign_getnrecv
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:79,1
    - Dst: prdic_sign_block
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:83,1
    - Dst: prdic_CFT_serve
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:84,1
    - Dst: prdic_sign_unblock
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:85,1
    - Dst: timespeciszero
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:87,1
    - Dst: prdic_sign_block
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:91,1
    - Dst: getttime
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:93,1
    - Dst: timespecsub
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:95,1
    - Dst: timespecmul
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main.c:96,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pip
    - skipdelay
    argTypes:
    - struct prdic_inst*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 97
    functionName: _prdic_do_procrastinate
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_main.c
    functionUses: 0
    functionsReached:
    - timespeciszero
    - prdic_sign_unblock
    - prdic_sign_block
    - dtime2timespec
    - timespecmul
    - getttime
    - timespecsub
    - prdic_sign_getnrecv
    - nanosleep
    - memset
    - prdic_CFT_serve
    linkageType: ''
    returnType: void
    signature: void _prdic_do_procrastinate(struct prdic_inst *pip, int skipdelay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - (
    - func
    - ','
    - rval
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: DEFINE_RAW_METHOD
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_RAW_METHOD(func, rval, args...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:67,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:70,1
    - Dst: _prdic_do_procrastinate
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:73,1
    - Dst: _prdic_FD_get_error
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:75,1
    - Dst: erf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:76,1
    - Dst: _prdic_recfilter_apply
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:77,1
    - Dst: _prdic_recfilter_apply
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:79,1
    - Dst: _prdic_recfilter_apply
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:90,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:93,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:95,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:99,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:101,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:101,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:102,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - pip
    argTypes:
    - struct prdic_inst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: _prdic_procrastinate_FD
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - _prdic_do_procrastinate
    - erf
    - _prdic_recfilter_apply
    - _prdic_FD_get_error
    - fflush
    - SEC
    linkageType: ''
    returnType: int
    signature: int _prdic_procrastinate_FD(struct prdic_inst *pip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dtime2timespec
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:59,1
    - Dst: dtime2timespec
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:60,1
    - Dst: _prdic_recfilter_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:61,1
    - Dst: _prdic_shmtrig_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:62,1
    - Dst: _prdic_recfilter_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:64,1
    - Dst: _prdic_recfilter_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:65,1
    - Dst: _prdic_FD_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:68,1
    - Dst: _prdic_PFD_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:71,1
    - Dst: abort
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - bp
    - dt
    - freq_hz
    argTypes:
    - struct prdic_band*
    - enum prdic_det_type
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: band_init
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - _prdic_shmtrig_init
    - dtime2timespec
    - _prdic_FD_init
    - _prdic_PFD_init
    - abort
    - _prdic_recfilter_init
    linkageType: ''
    returnType: void
    signature: "void band_init(struct prdic_band *bp, enum prdic_det_type dt,\n  double
      freq_hz)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:84,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:88,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:89,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:93,1
    - Dst: getttime
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:95,1
    - Dst: tplusdtime
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:98,1
    - Dst: band_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:99,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:102,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - freq_hz
    - off_from_now
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: prdic_init
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 6
    functionsReached:
    - free
    - band_init
    - malloc
    - tplusdtime
    - getttime
    - memset
    linkageType: ''
    returnType: void
    signature: 'void *

      prdic_init(double freq_hz, double off_from_now)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:114,1
    - Dst: prdic_sign_setup
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - prdic_inst
    - signum
    argTypes:
    - void*
    - int
    assertStmts:
    - condition: (pip->sip == NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/rtpproxy/external/libelperiodic/src/periodic.c
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: prdic_CFT_enable
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - prdic_sign_setup
    - assert
    linkageType: ''
    returnType: int
    signature: int prdic_CFT_enable(void *prdic_inst, int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:130,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:133,1
    - Dst: band_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:135,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - prdic_inst
    - freq_hz
    argTypes:
    - void*
    - double
    assertStmts:
    - condition: (tbp->next == NULL)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/rtpproxy/external/libelperiodic/src/periodic.c
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: prdic_addband
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - malloc
    - band_init
    linkageType: ''
    returnType: int
    signature: int prdic_addband(void *prdic_inst, double freq_hz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _prdic_FD_reset
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:151,1
    - Dst: _prdic_PFD_reset
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:154,1
    - Dst: abort
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bp
    - epoch
    argTypes:
    - struct prdic_band*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: band_set_epoch
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - abort
    - _prdic_FD_reset
    - _prdic_PFD_reset
    linkageType: ''
    returnType: void
    signature: void band_set_epoch(struct prdic_band *bp, struct timespec *epoch)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pip
    - bnum
    argTypes:
    - struct prdic_inst*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: prdic_findband
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct prdic_band
    signature: 'struct prdic_band *

      prdic_findband(struct prdic_inst *pip, int bnum)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: prdic_findband
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:186,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:187,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:188,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:188,1
    - Dst: NSEC
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:189,1
    - Dst: timespecmul
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:190,1
    - Dst: timespecadd
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:191,1
    - Dst: band_set_epoch
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - prdic_inst
    - bnum
    argTypes:
    - void*
    - int
    assertStmts:
    - condition: (tbp != NULL)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/rtpproxy/external/libelperiodic/src/periodic.c
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: prdic_useband
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - band_set_epoch
    - NSEC
    - timespecadd
    - timespecmul
    - assert
    - prdic_findband
    - SEC
    linkageType: ''
    returnType: void
    signature: void prdic_useband(void *prdic_inst, int bnum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prdic_findband
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:204,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:205,1
    - Dst: _prdic_FD_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:212,1
    - Dst: _prdic_PFD_init
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:215,1
    - Dst: abort
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - prdic_inst
    - bnum
    - ndt
    argTypes:
    - void*
    - int
    - enum prdic_det_type
    assertStmts:
    - condition: (bp != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/rtpproxy/external/libelperiodic/src/periodic.c
    constantsTouched: []
    func_position:
      end: 223
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 223
    functionName: prdic_set_det_type
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - _prdic_FD_init
    - _prdic_PFD_init
    - assert
    - abort
    - prdic_findband
    linkageType: ''
    returnType: enum prdic_det_type
    signature: enum prdic_det_type prdic_set_det_type(void *prdic_inst, int bnum,
      enum prdic_det_type ndt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _prdic_procrastinate_FD
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:233,1
    - Dst: _prdic_procrastinate_PFD
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:235,1
    - Dst: abort
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - prdic_inst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: prdic_procrastinate
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 6
    functionsReached:
    - _prdic_procrastinate_PFD
    - abort
    - _prdic_procrastinate_FD
    linkageType: ''
    returnType: int
    signature: int prdic_procrastinate(void *prdic_inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:247,1
    - Dst: _prdic_recfilter_adjust
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - prdic_inst
    - fcoef
    argTypes:
    - void*
    - double
    assertStmts:
    - condition: (pip->ab->loop_error.lastval == 1.0)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/rtpproxy/external/libelperiodic/src/periodic.c
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: prdic_set_fparams
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - assert
    - _prdic_recfilter_adjust
    linkageType: ''
    returnType: void
    signature: void prdic_set_fparams(void *prdic_inst, double fcoef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: band_set_epoch
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prdic_inst
    - tp
    argTypes:
    - void*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: prdic_set_epoch
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - band_set_epoch
    linkageType: ''
    returnType: void
    signature: void prdic_set_epoch(void *prdic_inst, struct timespec *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prdic_inst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: prdic_getncycles_ref
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached:
    - SEC
    linkageType: ''
    returnType: time_t
    signature: time_t prdic_getncycles_ref(void *prdic_inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prdic_inst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: prdic_getload
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double prdic_getload(void *prdic_inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prdic_inst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: prdic_islocked
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int prdic_islocked(void *prdic_inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:297,1
    - Dst: prdic_sign_dtor
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:300,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/periodic.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - prdic_inst
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: prdic_free
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/periodic.c
    functionUses: 7
    functionsReached:
    - free
    - prdic_sign_dtor
    linkageType: ''
    returnType: void
    signature: void prdic_free(void *prdic_inst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd_p
    argTypes:
    - struct _prdic_PFD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: _prdic_PFD_init
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _prdic_PFD_init(struct _prdic_PFD *pfd_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:49,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:49,1
    - Dst: NSEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:50,1
    - Dst: timespeciszero
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:51,1
    - Dst: timespecsub2
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:56,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:57,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pfd_p
    - tclk
    argTypes:
    - struct _prdic_PFD*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: _prdic_PFD_get_error
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c
    functionUses: 0
    functionsReached:
    - NSEC
    - timespeciszero
    - timespecsub2
    - SEC
    - timespec2dtime
    linkageType: ''
    returnType: double
    signature: double _prdic_PFD_get_error(struct _prdic_PFD *pfd_p, const struct
      timespec *tclk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:71,1
    - Dst: NSEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pfd_p
    argTypes:
    - struct _prdic_PFD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: _prdic_PFD_reset
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c
    functionUses: 1
    functionsReached:
    - NSEC
    - SEC
    linkageType: ''
    returnType: void
    signature: void _prdic_PFD_reset(struct _prdic_PFD *pfd_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:35,1
    - Dst: abort
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ttp
    - abort_on_fail
    argTypes:
    - struct timespec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: getttime
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_time.h
    functionUses: 2
    functionsReached:
    - clock_gettime
    - abort
    linkageType: ''
    returnType: int
    signature: int getttime(struct timespec *ttp, int abort_on_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:48,1
    - Dst: trunc
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:48,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:49,1
    - Dst: NSEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:50,1
    - Dst: round
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dtime
    - ttp
    argTypes:
    - double
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: dtime2timespec
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_time.h
    functionUses: 2
    functionsReached:
    - trunc
    - NSEC
    - round
    - SEC
    linkageType: ''
    returnType: void
    signature: void dtime2timespec(double dtime, struct timespec *ttp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dtime2timespec
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:59,1
    - Dst: timespecadd
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_time.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ttp
    - offset
    argTypes:
    - struct timespec*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: tplusdtime
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_time.h
    functionUses: 1
    functionsReached:
    - dtime2timespec
    - timespecadd
    linkageType: ''
    returnType: void
    signature: void tplusdtime(struct timespec *ttp, double offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - val
    argTypes:
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: _prdic_shmtrig_update
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_shmtrig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double _prdic_shmtrig_update(void *arg, double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pub
    - ival
    - lTrs
    - hTrs
    argTypes:
    - struct _prdic_shmtrig*
    - unsigned int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: _prdic_shmtrig_init
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_shmtrig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _prdic_shmtrig_init(struct _prdic_shmtrig *pub, unsigned int
      ival, double lTrs,\n  double hTrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct _prdic_procchain*::handle
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - f
    - x
    argTypes:
    - struct _prdic_recfilter*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: _prdic_recfilter_apply
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c
    functionUses: 1
    functionsReached:
    - struct _prdic_procchain*::handle
    linkageType: ''
    returnType: double
    signature: double _prdic_recfilter_apply(struct _prdic_recfilter *f, double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _prdic_recfilter_adjust
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - f
    - fcoef
    - initval
    argTypes:
    - struct _prdic_recfilter*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: _prdic_recfilter_init
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c
    functionUses: 1
    functionsReached:
    - _prdic_recfilter_adjust
    linkageType: ''
    returnType: void
    signature: void _prdic_recfilter_init(struct _prdic_recfilter *f, double fcoef,
      double initval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - f
    - fcoef
    argTypes:
    - struct _prdic_recfilter*
    - double
    assertStmts:
    - condition: (fcoef < 1.0 && fcoef > 0.0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: _prdic_recfilter_adjust
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void _prdic_recfilter_adjust(struct _prdic_recfilter *f, double fcoef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:19,1
    - Dst: exit
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: usage
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/testskew.c
    functionUses: 4
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: silence
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/testskew.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: silence(msg)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:42,1
    - Dst: atof
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:65,1
    - Dst: usage
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:79,1
    - Dst: usage
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:85,1
    - Dst: atof
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:89,1
    - Dst: atof
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:90,1
    - Dst: prdic_init
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:98,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:99,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:101,1
    - Dst: prdic_set_det_type
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:101,1
    - Dst: prdic_addband
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:104,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:105,1
    - Dst: prdic_useband
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:106,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:108,1
    - Dst: prdic_islocked
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:108,1
    - Dst: prdic_set_fparams
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:110,1
    - Dst: dtime2timespec
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:117,1
    - Dst: nanosleep
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:118,1
    - Dst: prdic_procrastinate
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:120,1
    - Dst: prdic_islocked
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:122,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:128,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:129,1
    - Dst: prdic_getncycles_ref
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:131,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:135,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:136,1
    - Dst: prdic_getncycles_ref
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:139,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:141,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:142,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:147,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:152,1
    - Dst: prdic_getload
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:153,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:156,1
    - Dst: silence
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:156,1
    - Dst: silence
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:156,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:158,1
    - Dst: silence
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:158,1
    - Dst: printf
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:162,1
    - Dst: silence
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:162,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:164,1
    - Dst: prdic_free
      Src: /src/rtpproxy/external/libelperiodic/src/testskew.c:166,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 126
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (bnum > 0)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/rtpproxy/external/libelperiodic/src/testskew.c
    - condition: (prd != NULL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/rtpproxy/external/libelperiodic/src/testskew.c
    - condition: (prdic_islocked(prd) == 0)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/rtpproxy/external/libelperiodic/src/testskew.c
    - condition: (prdic_set_det_type(prd, 0, PRDIC_DET_PHASE) == PRDIC_DET_FREQ)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/rtpproxy/external/libelperiodic/src/testskew.c
    constantsTouched: []
    func_position:
      end: 175
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/testskew.c
    functionUses: 2
    functionsReached:
    - getopt
    - assert
    - prdic_islocked
    - fflush
    - prdic_set_fparams
    - prdic_procrastinate
    - prdic_set_det_type
    - prdic_addband
    - prdic_useband
    - printf
    - usage
    - nanosleep
    - prdic_getncycles_ref
    - silence
    - prdic_init
    - atof
    - dtime2timespec
    - prdic_getload
    - prdic_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _prdic_do_procrastinate
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:68,1
    - Dst: _prdic_PFD_get_error
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:70,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:73,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:75,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:79,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:80,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:80,1
    - Dst: SEC
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:81,1
    - Dst: fflush
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:82,1
    - Dst: _prdic_sigmoid
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:86,1
    - Dst: _prdic_recfilter_apply
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:87,1
    - Dst: _prdic_recfilter_apply
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:89,1
    - Dst: _prdic_sigmoid
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:89,1
    - Dst: _prdic_recfilter_apply
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - pip
    argTypes:
    - struct prdic_inst*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: _prdic_procrastinate_PFD
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c
    functionUses: 1
    functionsReached:
    - _prdic_sigmoid
    - fprintf
    - _prdic_do_procrastinate
    - _prdic_PFD_get_error
    - _prdic_recfilter_apply
    - fflush
    - SEC
    linkageType: ''
    returnType: int
    signature: int _prdic_procrastinate_PFD(struct prdic_inst *pip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MIN
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_math.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MAX
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_math.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ABS
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_math.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SEC
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: NSEC
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: timespec2dtime
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespec2dtime(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: dtime2timespec
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtime2timespec(d, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: timespeciszero
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespeciszero(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vvp
    - ','
    - uvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: timespecadd
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespecadd(vvp, uvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vvp
    - ','
    - uvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: timespecsub
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespecsub(vvp, uvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - v
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: timespecsub2
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespecsub2(r, v, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rvp
    - ','
    - vvp
    - ','
    - uvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: timespecmul
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespecmul(rvp, vvp, uvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_math.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: _prdic_sigmoid
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_math.c
    functionUses: 1
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double _prdic_sigmoid(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - freq_0
    - foff_c
    - foff_x
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: _prdic_freqoff_to_period
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_math.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double _prdic_freqoff_to_period(double freq_0, double foff_c, double
      foff_x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: sched_handler
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: void
    signature: void sched_handler(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: prdic_sign_getnrecv
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 1
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int prdic_sign_getnrecv(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:67,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:70,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:71,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:74,1
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:77,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:80,1
    - Dst: sigemptyset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:83,1
    - Dst: sigaction
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:84,1
    - Dst: pthread_self
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:87,1
    - Dst: atomic_init
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:88,1
    - Dst: atomic_load
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:88,1
    - Dst: sigemptyset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:89,1
    - Dst: sigaddset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:90,1
    - Dst: atomic_init
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:92,1
    - Dst: prdic_sign_block
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:94,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:98,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:101,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 106
    functionName: prdic_sign_setup
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 1
    functionsReached:
    - free
    - atomic_load
    - sigemptyset
    - atomic_init
    - prdic_sign_block
    - pthread_self
    - malloc
    - sigaction
    - sigaddset
    - memset
    linkageType: ''
    returnType: struct prdic_sign
    signature: 'struct prdic_sign *

      prdic_sign_setup(int signum)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:114,1
    - Dst: atomic_load
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:115,1
    - Dst: assert
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:116,1
    - Dst: pthread_self
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:116,1
    - Dst: prdic_CFT_serve
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:117,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:120,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:122,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sip
    argTypes:
    - struct prdic_sign*
    assertStmts:
    - condition: (sip->sigtgt == pthread_self())
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: prdic_sign_dtor
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 1
    functionsReached:
    - free
    - atomic_load
    - pthread_self
    - sigaction
    - assert
    - prdic_CFT_serve
    linkageType: ''
    returnType: void
    signature: void prdic_sign_dtor(struct prdic_sign *sip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sip
    argTypes:
    - struct prdic_sign*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: prdic_sign_block
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 2
    functionsReached:
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void prdic_sign_block(const struct prdic_sign *sip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sip
    argTypes:
    - struct prdic_sign*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: prdic_sign_unblock
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 1
    functionsReached:
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void prdic_sign_unblock(const struct prdic_sign *sip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:148,1
    - Dst: handler
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:160,1
    - Dst: free
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - sip
    argTypes:
    - struct prdic_sign*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 163
    functionName: prdic_CFT_serve
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 2
    functionsReached:
    - free
    - atomic_compare_exchange_weak_explicit
    - handler
    linkageType: ''
    returnType: void
    signature: void prdic_CFT_serve(struct prdic_sign *sip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:172,1
    - Dst: memset
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:175,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:179,1
    - Dst: atomic_compare_exchange_weak_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:181,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:184,1
    - Dst: atomic_load_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:186,1
    - Dst: pthread_kill
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:192,1
    - Dst: atomic_compare_exchange_strong_explicit
      Src: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pinst
    - handler
    - harg
    argTypes:
    - void*
    - ctfhandler_m
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 196
    functionName: prdic_call_from_thread
    functionSourceFile: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
    functionUses: 0
    functionsReached:
    - atomic_load_explicit
    - malloc
    - pthread_kill
    - atomic_compare_exchange_strong_explicit
    - atomic_compare_exchange_weak_explicit
    - memset
    linkageType: ''
    returnType: int
    signature: int prdic_call_from_thread(void *pinst, ctfhandler_m handler, void
      *harg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compressBound
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:111,1
    - Dst: malloc
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:113,1
    - Dst: compress
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:118,1
    - Dst: free
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: compress_data
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 0
    functionsReached:
    - compressBound
    - free
    - malloc
    - compress
    linkageType: ''
    returnType: void
    signature: 'void *

      compress_data(void *data, unsigned int *len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctp
    argTypes:
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: hep_gen_dtor
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hep_gen_dtor(struct hep_ctx *ctp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:144,1
    - Dst: memset
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:150,1
    - Dst: memset
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:153,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:158,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:161,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:162,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:164,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:167,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:168,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:170,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:173,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:174,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:175,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:176,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:179,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:180,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:181,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:182,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:185,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:186,1
    - Dst: htonl
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:187,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:188,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:191,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:192,1
    - Dst: htonl
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:193,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:194,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:197,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:198,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:200,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:203,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:204,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:205,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 2
    argNames:
    - ctp
    - rcinfo
    argTypes:
    - struct hep_ctx*
    - rc_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 209
    functionName: hep_gen_fill
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - malloc
    - memcpy
    - htons
    - memset
    - htonl
    linkageType: ''
    returnType: int
    signature: int hep_gen_fill(struct hep_ctx *ctp, rc_info_t *rcinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:220,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:224,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:225,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:226,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ctp
    - vendor_id
    - type_id
    - data
    - dlen
    argTypes:
    - struct hep_ctx*
    - uint16_t
    - uint16_t
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 233
    functionName: hep_gen_append
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - realloc
    - memcpy
    - htons
    linkageType: ''
    returnType: int
    signature: "int hep_gen_append(struct hep_ctx *ctp, uint16_t vendor_id,\n  uint16_t
      type_id, const void *data, uint16_t dlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ctx
    - ','
    - vid
    - ','
    - tid
    - ','
    - dp
    - ','
    - dl
    - ','
    - rv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: HGA_O_RET
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HGA_O_RET(ctx, vid, tid, dp, dl, rv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:252,1
    - Dst: compress_data
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:258,1
    - Dst: abort
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:267,1
    - Dst: HGA_O_RET
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:274,1
    - Dst: HGA_O_RET
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:277,1
    - Dst: HGA_O_RET
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:283,1
    - Dst: HGA_O_RET
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:286,1
    - Dst: HGA_O_RET
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:291,1
    - Dst: HGA_O_RET
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:296,1
    - Dst: strlen
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:296,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:303,1
    - Dst: sleep
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:305,1
    - Dst: init_hepsocket_blocking
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:306,1
    - Dst: sleep
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:313,1
    - Dst: initSSL
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:314,1
    - Dst: htons
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:324,1
    - Dst: send_data
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:326,1
    - Dst: free
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:332,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - ctp
    - rcinfo
    - data
    - len
    argTypes:
    - struct hep_ctx*
    - rc_info_t*
    - void*
    - unsigned int
    assertStmts:
    - condition: (ctp->hep_version == 3)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/rtpproxy/external/hepconnector/core_hep.c
    constantsTouched: []
    func_position:
      end: 335
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 335
    functionName: send_hep
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - init_hepsocket_blocking
    - free
    - fprintf
    - htons
    - assert
    - sleep
    - compress_data
    - send_data
    - initSSL
    - abort
    - strlen
    - HGA_O_RET
    linkageType: ''
    returnType: int
    signature: int send_hep(struct hep_ctx *ctp, rc_info_t *rcinfo, void *data, unsigned
      int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:345,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:346,1
    - Dst: if
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:366,1
    - Dst: SSL_write
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:366,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctp
    - buf
    - len
    argTypes:
    - struct hep_ctx*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 375
    functionName: send_data
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - if
    - fprintf
    - send
    - SSL_write
    linkageType: ''
    returnType: int
    signature: int send_data (struct hep_ctx *ctp, void *buf, unsigned int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:383,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:387,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:388,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:388,1
    - Dst: socket
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:392,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:393,1
    - Dst: strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:393,1
    - Dst: connect
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:397,1
    - Dst: fcntl
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:403,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:404,1
    - Dst: strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:404,1
    - Dst: fcntl
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:408,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:409,1
    - Dst: strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:409,1
    - Dst: close
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:415,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - ctp
    argTypes:
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 419
    functionName: init_hepsocket
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - fprintf
    - gai_strerror
    - close
    - strerror
    - getaddrinfo
    - socket
    - fcntl
    - connect
    linkageType: ''
    returnType: int
    signature: int init_hepsocket (struct hep_ctx *ctp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:427,1
    - Dst: getaddrinfo
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:429,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:430,1
    - Dst: gai_strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:430,1
    - Dst: socket
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:434,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:435,1
    - Dst: strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:435,1
    - Dst: connect
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:439,1
    - Dst: select
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:440,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:442,1
    - Dst: strerror
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ctp
    argTypes:
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 449
    functionName: init_hepsocket_blocking
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - fprintf
    - gai_strerror
    - close
    - strerror
    - getaddrinfo
    - socket
    - select
    - connect
    linkageType: ''
    returnType: int
    signature: int init_hepsocket_blocking (struct hep_ctx *ctp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:458,1
    - Dst: SSL_load_error_strings
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:459,1
    - Dst: SSLv3_client_method
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:462,1
    - Dst: SSL_CTX_new
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:464,1
    - Dst: ERR_print_errors_fp
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:466,1
    - Dst: abort
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 470
    functionName: initCTX
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 0
    functionsReached:
    - SSL_load_error_strings
    - OpenSSL_add_all_algorithms
    - SSLv3_client_method
    - SSL_CTX_new
    - abort
    - ERR_print_errors_fp
    linkageType: ''
    returnType: SSL_CTX
    signature: SSL_CTX * initCTX(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:478,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:480,1
    - Dst: X509_NAME_oneline
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:481,1
    - Dst: X509_get_subject_name
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:481,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:482,1
    - Dst: free
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:483,1
    - Dst: X509_NAME_oneline
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:484,1
    - Dst: X509_get_issuer_name
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:484,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:485,1
    - Dst: free
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:486,1
    - Dst: X509_free
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:487,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 491
    functionName: showCerts
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 0
    functionsReached:
    - free
    - X509_free
    - fprintf
    - SSL_get_peer_certificate
    - X509_get_subject_name
    - X509_get_issuer_name
    - X509_NAME_oneline
    linkageType: ''
    returnType: void
    signature: void showCerts(SSL* ssl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_hepsocket_blocking
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:501,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:502,1
    - Dst: initCTX
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:507,1
    - Dst: SSL_CTX_set_options
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:512,1
    - Dst: SSL_CTX_ctrl
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:515,1
    - Dst: SSL_new
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:518,1
    - Dst: SSL_set_connect_state
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:520,1
    - Dst: SSL_set_fd
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:523,1
    - Dst: SSL_connect
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:526,1
    - Dst: ERR_print_errors_fp
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:527,1
    - Dst: showCerts
      Src: /src/rtpproxy/external/hepconnector/core_hep.c:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ctp
    argTypes:
    - struct hep_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 534
    functionName: initSSL
    functionSourceFile: /src/rtpproxy/external/hepconnector/core_hep.c
    functionUses: 1
    functionsReached:
    - init_hepsocket_blocking
    - showCerts
    - SSL_CTX_ctrl
    - fprintf
    - SSL_new
    - initCTX
    - SSL_CTX_set_options
    - SSL_connect
    - SSL_set_connect_state
    - ERR_print_errors_fp
    - SSL_set_fd
    linkageType: ''
    returnType: int
    signature: int initSSL(struct hep_ctx *ctp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: XXH_IPREF
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_IPREF(Id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: XXH_CAT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_CAT(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: XXH_NAME2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_NAME2(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: XXH_HAS_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 791
    functionName: XXH_HAS_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 807
    functionName: XXH_HAS_C_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_C_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 809
    functionName: XXH_HAS_C_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_C_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: XXH_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_CPP_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: XXH_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_CPP_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1709
    functionName: XXH_ALIGN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1712
    functionName: XXH_ALIGN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1714
    functionName: XXH_ALIGN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1716
    functionName: XXH_ALIGN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ALIGN(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - align
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1725
    functionName: XXH_ALIGN_MEMBER
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ALIGN_MEMBER(align, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - align
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1727
    functionName: XXH_ALIGN_MEMBER
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ALIGN_MEMBER(align, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - XXH3_state_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1818
    functionName: XXH3_INITSTATE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH3_INITSTATE(XXH3_state_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2369
    functionName: XXH_malloc
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_CONSTF
    signature: XXH_CONSTF * XXH_malloc(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2370
    functionName: XXH_free
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XXH_free(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2384
    functionDepth: 1
    functionLinenumber: 2384
    functionLinenumberEnd: 2384
    functionName: XXH_malloc
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XXH_MALLOCF
    signature: XXH_MALLOCF * XXH_malloc(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2390
    functionName: XXH_free
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void XXH_free(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2403
    functionName: XXH_memcpy
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * XXH_memcpy(void* dest, const void* src, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2489
    functionName: XXH_ASSERT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2492
    functionName: XXH_ASSERT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2494
    functionName: XXH_ASSERT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2501
    functionName: XXH_STATIC_ASSERT_WITH_MESSAGE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_STATIC_ASSERT_WITH_MESSAGE(c,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2503
    functionName: XXH_STATIC_ASSERT_WITH_MESSAGE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_STATIC_ASSERT_WITH_MESSAGE(c,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2505
    functionName: XXH_STATIC_ASSERT_WITH_MESSAGE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_STATIC_ASSERT_WITH_MESSAGE(c,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2507
    functionName: XXH_STATIC_ASSERT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_STATIC_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2527
    functionName: XXH_COMPILER_GUARD
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_COMPILER_GUARD(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2529
    functionName: XXH_COMPILER_GUARD
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_COMPILER_GUARD(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2534
    functionDepth: 0
    functionLinenumber: 2534
    functionLinenumberEnd: 2535
    functionName: XXH_COMPILER_GUARD_CLANG_NEON
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_COMPILER_GUARD_CLANG_NEON(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2537
    functionName: XXH_COMPILER_GUARD_CLANG_NEON
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_COMPILER_GUARD_CLANG_NEON(var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2626
    functionName: XXH_read32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_read32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 2644
    functionName: XXH_read32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_read32(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2652
    functionDepth: 2
    functionLinenumber: 2652
    functionLinenumberEnd: 2657
    functionName: XXH_read32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_read32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2707
    functionName: XXH_isLittleEndian
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XXH_isLittleEndian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2722
    functionName: XXH_HAS_BUILTIN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_BUILTIN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2724
    functionName: XXH_HAS_BUILTIN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_BUILTIN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2757
    functionName: XXH_UNREACHABLE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2760
    functionName: XXH_UNREACHABLE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2767
    functionName: XXH_ASSUME
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ASSUME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2769
    functionName: XXH_ASSUME
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_ASSUME(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2794
    functionName: XXH_rotl32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl32(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2795
    functionName: XXH_rotl64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl64(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2797
    functionName: XXH_rotl32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl32(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2798
    functionName: XXH_rotl64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl64(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - xxh_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2819
    functionName: XXH_swap32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_swap32 (xxh_u32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2850
    functionName: XXH_readLE32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2859
    functionName: XXH_readBE32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readBE32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2864,1
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2864,1
    - Dst: XXH_read32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2865
    functionName: XXH_readLE32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read32
    - XXH_swap32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE32(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2869,1
    - Dst: XXH_read32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2869,1
    - Dst: XXH_read32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2867
    functionDepth: 1
    functionLinenumber: 2867
    functionLinenumberEnd: 2870
    functionName: XXH_readBE32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read32
    - XXH_swap32
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH_readBE32(const void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2877,1
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2881
    functionName: XXH_readLE32_align
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_readLE32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE32_align(const void* ptr, XXH_alignment
      align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2888
    functionName: XXH_versionNumber
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned
    signature: XXH_PUBLIC_API unsigned XXH_versionNumber (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2931,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:2970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - xxh_u32
    - xxh_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2928
    functionDepth: 1
    functionLinenumber: 2928
    functionLinenumberEnd: 2973
    functionName: XXH32_round
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_COMPILER_GUARD
    - XXH_rotl32
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH32_round(xxh_u32 acc, xxh_u32 input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hash
    argTypes:
    - xxh_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2993
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2993
    functionName: XXH32_avalanche
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: xxh_u32 XXH32_avalanche(xxh_u32 hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 2996
    functionName: XXH_get32bits
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_get32bits(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - acc
    - seed
    argTypes:
    - xxh_u32*
    - xxh_u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3001
    functionDepth: 1
    functionLinenumber: 3001
    functionLinenumberEnd: 3009
    functionName: XXH32_initAccs
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH32_initAccs(xxh_u32 *acc, xxh_u32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3027,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3028,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3029,1
    - Dst: XXH32_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3031,1
    - Dst: XXH_get32bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3031,1
    - Dst: XXH32_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3032,1
    - Dst: XXH_get32bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3032,1
    - Dst: XXH32_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3033,1
    - Dst: XXH_get32bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3033,1
    - Dst: XXH32_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3034,1
    - Dst: XXH_get32bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - len
    - align
    argTypes:
    - xxh_u32*
    - xxh_u8*
    - size_t
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3017
    functionDepth: 2
    functionLinenumber: 3017
    functionLinenumberEnd: 3038
    functionName: XXH32_consumeLong
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_get32bits
    - XXH_ASSERT
    - XXH32_round
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE *\nXXH32_consumeLong(\n    xxh_u32 *XXH_RESTRICT
      acc,\n    xxh_u8 const *XXH_RESTRICT input,\n    size_t len,\n    XXH_alignment
      align\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3047,1
    - Dst: XXH_rotl32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3048,1
    - Dst: XXH_rotl32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3048,1
    - Dst: XXH_rotl32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3049,1
    - Dst: XXH_rotl32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - acc
    argTypes:
    - xxh_u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3044
    functionDepth: 1
    functionLinenumber: 3044
    functionLinenumberEnd: 3050
    functionName: XXH32_mergeAccs
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_rotl32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH32_mergeAccs(const xxh_u32 *acc)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3081,1
    - Dst: XXH32_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3094,1
    - Dst: XXH32_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3102,1
    - Dst: XXH32_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3110,1
    - Dst: XXH32_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3119,1
    - Dst: XXH32_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3133,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 70
    argCount: 4
    argNames:
    - hash
    - ptr
    - len
    - align
    argTypes:
    - xxh_u32
    - xxh_u8*
    - size_t
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3138
      start: 3067
    functionDepth: 1
    functionLinenumber: 3067
    functionLinenumberEnd: 3138
    functionName: XXH32_finalize
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH32_avalanche
    linkageType: ''
    returnType: XXH_PUREF
    signature: XXH_PUREF XXH32_finalize(xxh_u32 hash, const xxh_u8* ptr, size_t len,
      XXH_alignment align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3161,1
    - Dst: XXH32_initAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3165,1
    - Dst: XXH32_consumeLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3167,1
    - Dst: XXH32_mergeAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3169,1
    - Dst: XXH32_finalize
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - input
    - len
    - seed
    - align
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u32
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3156
    functionDepth: 3
    functionLinenumber: 3156
    functionLinenumberEnd: 3177
    functionName: XXH32_endian_align
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_initAccs
    - XXH_ASSERT
    - XXH32_consumeLong
    - XXH32_finalize
    - XXH32_mergeAccs
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH32_endian_align(const xxh_u8* input, size_t len,
      xxh_u32 seed, XXH_alignment align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3185,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3186,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3187,1
    - Dst: XXH32_endian_align
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3191,1
    - Dst: XXH32_endian_align
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - XXH32_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3180
    functionDepth: 4
    functionLinenumber: 3180
    functionLinenumberEnd: 3196
    functionName: XXH32_hash_t
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_digest
    - XXH32_reset
    - XXH32_endian_align
    - XXH32_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32 (const void* input, size_t len, XXH32_hash_t
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3203
    functionDepth: 1
    functionLinenumber: 3203
    functionLinenumberEnd: 3206
    functionName: XXH32_state_t* XXH32_createState(void)
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_state_t* XXH32_createState(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH32_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3208
    functionDepth: 1
    functionLinenumber: 3208
    functionLinenumberEnd: 3212
    functionName: XXH_errorcode::XXH32_freeState
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dstState
    - srcState
    argTypes:
    - XXH32_state_t*
    - XXH32_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3215
    functionDepth: 2
    functionLinenumber: 3215
    functionLinenumberEnd: 3218
    functionName: XXH32_copyState
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_copyState(XXH32_state_t* dstState, const XXH32_state_t*
      srcState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3223,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3224,1
    - Dst: XXH32_initAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH32_state_t*
    - XXH32_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3221
    functionDepth: 2
    functionLinenumber: 3221
    functionLinenumberEnd: 3227
    functionName: XXH_errorcode::XXH32_reset
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_initAccs
    - XXH_ASSERT
    - memset
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, XXH32_hash_t
      seed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3235,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3242,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3244,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3253,1
    - Dst: XXH32_consumeLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3256,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3260,1
    - Dst: XXH32_consumeLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3263,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - state
    - input
    - len
    argTypes:
    - XXH32_state_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3231
    functionDepth: 3
    functionLinenumber: 3231
    functionLinenumberEnd: 3274
    functionName: XXH_errorcode::XXH32_update
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_memcpy
    - XXH32_consumeLong
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH32_update(XXH32_state_t* state, const void* input, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_mergeAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3283,1
    - Dst: XXH32_finalize
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - XXH32_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3278
    functionDepth: 2
    functionLinenumber: 3278
    functionLinenumberEnd: 3291
    functionName: XXH32_hash_t::XXH32_digest
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_mergeAccs
    - XXH32_finalize
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32_digest(const XXH32_state_t* state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3299,1
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3300,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH32_canonical_t*
    - XXH32_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3297
    functionDepth: 2
    functionLinenumber: 3297
    functionLinenumberEnd: 3302
    functionName: XXH32_canonicalFromHash
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_memcpy
    - XXH_swap32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t
      hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH32_canonical_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3304
    functionDepth: 1
    functionLinenumber: 3304
    functionLinenumberEnd: 3307
    functionName: XXH32_hash_t::XXH32_hashFromCanonical
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t*
      src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3336
    functionDepth: 0
    functionLinenumber: 3336
    functionLinenumberEnd: 3339
    functionName: XXH_read64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_read64(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3353
    functionDepth: 0
    functionLinenumber: 3353
    functionLinenumberEnd: 3357
    functionName: XXH_read64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_read64(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3365
    functionDepth: 2
    functionLinenumber: 3365
    functionLinenumberEnd: 3370
    functionName: XXH_read64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_read64(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3389
    functionName: XXH_swap64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_swap64(xxh_u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3407
    functionName: XXH_readLE64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE64(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3409
    functionDepth: 0
    functionLinenumber: 3409
    functionLinenumberEnd: 3420
    functionName: XXH_readBE64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readBE64(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3425,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3425,1
    - Dst: XXH_read64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3423
    functionDepth: 1
    functionLinenumber: 3423
    functionLinenumberEnd: 3426
    functionName: XXH_readLE64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read64
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE64(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3430,1
    - Dst: XXH_read64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3430,1
    - Dst: XXH_read64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3431
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3431
    functionName: XXH_readBE64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read64
    - XXH_swap64
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_readBE64(const void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3438,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3441
      start: 3434
    functionDepth: 1
    functionLinenumber: 3434
    functionLinenumberEnd: 3441
    functionName: XXH_readLE64_align
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readLE64
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_readLE64_align(const void* ptr, XXH_alignment
      align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3472,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3469
    functionDepth: 1
    functionLinenumber: 3469
    functionLinenumberEnd: 3492
    functionName: XXH64_round
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH64_round(xxh_u64 acc, xxh_u64 input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - val
    argTypes:
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3494
    functionDepth: 2
    functionLinenumber: 3494
    functionLinenumberEnd: 3500
    functionName: XXH64_mergeRound
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_round
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH64_mergeRound(xxh_u64 acc, xxh_u64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hash
    argTypes:
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3503
    functionDepth: 0
    functionLinenumber: 3503
    functionLinenumberEnd: 3511
    functionName: XXH64_avalanche
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH64_avalanche(xxh_u64 hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3515
      start: 3514
    functionDepth: 0
    functionLinenumber: 3514
    functionLinenumberEnd: 3515
    functionName: XXH_get64bits
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_get64bits(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - acc
    - seed
    argTypes:
    - xxh_u64*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3528
      start: 3520
    functionDepth: 1
    functionLinenumber: 3520
    functionLinenumberEnd: 3528
    functionName: XXH64_initAccs
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH64_initAccs(xxh_u64 *acc, xxh_u64 seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3546,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3547,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3548,1
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3554,1
    - Dst: XXH_get64bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3554,1
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3558,1
    - Dst: XXH_get64bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3558,1
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3559,1
    - Dst: XXH_get64bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3559,1
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3560,1
    - Dst: XXH_get64bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3560,1
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3561,1
    - Dst: XXH_get64bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - len
    - align
    argTypes:
    - xxh_u64*
    - xxh_u8*
    - size_t
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3536
    functionDepth: 2
    functionLinenumber: 3536
    functionLinenumberEnd: 3566
    functionName: XXH64_consumeLong
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_get64bits
    - XXH_ASSERT
    - XXH64_round
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE *\nXXH64_consumeLong(\n    xxh_u64 *XXH_RESTRICT
      acc,\n    xxh_u8 const *XXH_RESTRICT input,\n    size_t len,\n    XXH_alignment
      align\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3575,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3577,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3577,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3578,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3578,1
    - Dst: XXH64_mergeRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3583,1
    - Dst: XXH64_mergeRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3586,1
    - Dst: XXH64_mergeRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3587,1
    - Dst: XXH64_mergeRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3588,1
    - Dst: XXH64_mergeRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - acc
    argTypes:
    - xxh_u64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3572
    functionDepth: 3
    functionLinenumber: 3572
    functionLinenumberEnd: 3593
    functionName: XXH64_mergeAccs
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH_ASSERT
    - XXH64_mergeRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH64_mergeAccs(const xxh_u64 *acc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3613,1
    - Dst: XXH64_round
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3616,1
    - Dst: XXH_get64bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3616,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3619,1
    - Dst: XXH_get32bits
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3623,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3625,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3630,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - hash
    - ptr
    - len
    - align
    argTypes:
    - xxh_u64
    - xxh_u8*
    - size_t
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3610
    functionDepth: 2
    functionLinenumber: 3610
    functionLinenumberEnd: 3634
    functionName: XXH64_finalize
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_get64bits
    - XXH_rotl64
    - XXH_get32bits
    - XXH64_avalanche
    - XXH64_round
    linkageType: ''
    returnType: XXH_STATIC
    signature: XXH_STATIC XXH64_finalize(xxh_u64 hash, const xxh_u8* ptr, size_t len,
      XXH_alignment align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3658,1
    - Dst: XXH64_initAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3662,1
    - Dst: XXH64_consumeLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3664,1
    - Dst: XXH64_mergeAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3666,1
    - Dst: XXH64_finalize
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - input
    - len
    - seed
    - align
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u64
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3674
      start: 3654
    functionDepth: 4
    functionLinenumber: 3654
    functionLinenumberEnd: 3674
    functionName: XXH64_endian_align
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH64_mergeAccs
    - XXH64_consumeLong
    - XXH64_finalize
    - XXH64_initAccs
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH64_endian_align(const xxh_u8* input, size_t len,
      xxh_u64 seed, XXH_alignment align)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3683,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3684,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3685,1
    - Dst: XXH64_endian_align
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3689,1
    - Dst: XXH64_endian_align
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3678
    functionDepth: 5
    functionLinenumber: 3678
    functionLinenumberEnd: 3695
    functionName: XXH64_hash_t
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_update
    - XXH64_endian_align
    - XXH64_digest
    - XXH64_reset
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64 (XXH_NOESCAPE const void* input,
      size_t len, XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3703
    functionName: XXH64_state_t* XXH64_createState(void)
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_state_t* XXH64_createState(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH64_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3709
      start: 3705
    functionDepth: 1
    functionLinenumber: 3705
    functionLinenumberEnd: 3709
    functionName: XXH_errorcode::XXH64_freeState
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH64_state_t* dstState
    - srcState
    argTypes:
    - XXH_NOESCAPE
    - XXH64_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3712
    functionDepth: 2
    functionLinenumber: 3712
    functionLinenumberEnd: 3715
    functionName: XXH64_copyState
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_copyState(XXH_NOESCAPE XXH64_state_t* dstState,
      const XXH64_state_t* srcState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3720,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3721,1
    - Dst: XXH64_initAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - XXH64_state_t* statePtr
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3718
    functionDepth: 2
    functionLinenumber: 3718
    functionLinenumberEnd: 3724
    functionName: XXH_errorcode::XXH64_reset
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - memset
    - XXH64_initAccs
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH_NOESCAPE XXH64_state_t*
      statePtr, XXH64_hash_t seed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3731,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3737,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3739,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3748,1
    - Dst: XXH64_consumeLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3751,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3755,1
    - Dst: XXH64_consumeLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3758,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - XXH64_state_t* state
    - input
    - len
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3727
    functionDepth: 3
    functionLinenumber: 3727
    functionLinenumberEnd: 3769
    functionName: XXH_errorcode::XXH64_update
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_memcpy
    - XXH64_consumeLong
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH64_update (XXH_NOESCAPE XXH64_state_t* state, XXH_NOESCAPE const void* input,
      size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_mergeAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3778,1
    - Dst: XXH64_finalize
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - XXH64_state_t* state
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3786
      start: 3773
    functionDepth: 4
    functionLinenumber: 3773
    functionLinenumberEnd: 3786
    functionName: XXH64_hash_t::XXH64_digest
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_finalize
    - XXH64_mergeAccs
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64_digest(XXH_NOESCAPE const XXH64_state_t*
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3794,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3795,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - XXH64_canonical_t* dst
    - hash
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3792
    functionDepth: 2
    functionLinenumber: 3792
    functionLinenumberEnd: 3797
    functionName: XXH64_canonicalFromHash
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_canonicalFromHash(XXH_NOESCAPE XXH64_canonical_t*
      dst, XXH64_hash_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:3802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - XXH64_canonical_t* src
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3800
    functionDepth: 1
    functionLinenumber: 3800
    functionLinenumberEnd: 3803
    functionName: XXH64_hash_t::XXH64_hashFromCanonical
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(XXH_NOESCAPE const
      XXH64_canonical_t* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3824
    functionDepth: 0
    functionLinenumber: 3824
    functionLinenumberEnd: 3825
    functionName: XXH_likely
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3826
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3826
    functionName: XXH_unlikely
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3828
    functionName: XXH_likely
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3829
    functionName: XXH_unlikely
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3839
    functionDepth: 0
    functionLinenumber: 3839
    functionLinenumberEnd: 3840
    functionName: XXH_HAS_INCLUDE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_INCLUDE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4109
    functionName: XXH_vld1q_u64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vld1q_u64(void const* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u64_u8
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4113,1
    - Dst: vld1q_u8
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4111
    functionDepth: 0
    functionLinenumber: 4111
    functionLinenumberEnd: 4114
    functionName: XXH_vld1q_u64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vld1q_u8
    - vreinterpretq_u64_u8
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vld1q_u64(void const* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4126
    functionDepth: 0
    functionLinenumber: 4126
    functionLinenumberEnd: 4132
    functionName: XXH_vmlal_low_u32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vmlal_low_u32(uint64x2_t acc, uint32x4_t lhs,
      uint32x4_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmlal_high_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4138
      start: 4133
    functionDepth: 0
    functionLinenumber: 4133
    functionLinenumberEnd: 4138
    functionName: XXH_vmlal_high_u32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_high_u32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vmlal_high_u32(uint64x2_t acc, uint32x4_t lhs,
      uint32x4_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmlal_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4144,1
    - Dst: vget_low_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4144,1
    - Dst: vget_low_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4141
    functionDepth: 0
    functionLinenumber: 4141
    functionLinenumberEnd: 4145
    functionName: XXH_vmlal_low_u32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_u32
    - vget_low_u32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vmlal_low_u32(uint64x2_t acc, uint32x4_t lhs,
      uint32x4_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmlal_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4151,1
    - Dst: vget_high_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4151,1
    - Dst: vget_high_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4152
    functionName: XXH_vmlal_high_u32
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_u32
    - vget_high_u32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vmlal_high_u32(uint64x2_t acc, uint32x4_t lhs,
      uint32x4_t rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - xxh_u64x2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4272
      start: 4267
    functionDepth: 0
    functionLinenumber: 4267
    functionLinenumberEnd: 4272
    functionName: XXH_vec_revb
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vec_perm
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_revb(xxh_u64x2 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4282,1
    - Dst: XXH_vec_revb
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4287
      start: 4279
    functionDepth: 2
    functionLinenumber: 4279
    functionLinenumberEnd: 4287
    functionName: XXH_vec_loadu
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_revb
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_loadu(const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - xxh_u32x4
    - xxh_u32x4
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4312
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4312
    functionName: XXH_vec_mulo
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_mulo(xxh_u32x4 a, xxh_u32x4 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - xxh_u32x4
    - xxh_u32x4
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4318
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4318
    functionName: XXH_vec_mule
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_vec_mule(xxh_u32x4 a, xxh_u32x4 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - acc
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4323
    functionDepth: 0
    functionLinenumber: 4323
    functionLinenumberEnd: 4334
    functionName: ACCRND
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCRND(acc, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4340
    functionName: XXH_PREFETCH
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_PREFETCH(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4343
      start: 4342
    functionDepth: 0
    functionLinenumber: 4342
    functionLinenumberEnd: 4343
    functionName: XXH_PREFETCH
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_PREFETCH(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4346
      start: 4345
    functionDepth: 0
    functionLinenumber: 4345
    functionLinenumberEnd: 4346
    functionName: XXH_PREFETCH
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_PREFETCH(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4350
      start: 4349
    functionDepth: 0
    functionLinenumber: 4349
    functionLinenumberEnd: 4350
    functionName: XXH_PREFETCH
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_PREFETCH(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4408
    functionName: XXH_mult32to64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_mult32to64(xxh_u64 x, xxh_u64 y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4411
      start: 4410
    functionDepth: 0
    functionLinenumber: 4410
    functionLinenumberEnd: 4411
    functionName: XXH_mult32to64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_mult32to64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4420
      start: 4419
    functionDepth: 0
    functionLinenumber: 4419
    functionLinenumberEnd: 4420
    functionName: XXH_mult32to64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_mult32to64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _umul128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4472,1
    - Dst: __umulh
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4490,1
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4538,1
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4539,1
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4540,1
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4553
      start: 4431
    functionDepth: 1
    functionLinenumber: 4431
    functionLinenumberEnd: 4553
    functionName: XXH_mult64to128
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult32to64
    - _umul128
    - __umulh
    linkageType: ''
    returnType: XXH128_hash_t
    signature: XXH128_hash_t XXH_mult64to128(xxh_u64 lhs, xxh_u64 rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_mult64to128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4565
    functionDepth: 2
    functionLinenumber: 4565
    functionLinenumberEnd: 4570
    functionName: XXH3_mul128_fold64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult64to128
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH3_mul128_fold64(xxh_u64 lhs, xxh_u64 rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - v64
    - shift
    argTypes:
    - xxh_u64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4573
    functionDepth: 1
    functionLinenumber: 4573
    functionLinenumberEnd: 4577
    functionName: XXH_xorshift64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_xorshift64(xxh_u64 v64, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_xorshift64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4585,1
    - Dst: XXH_xorshift64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h64
    argTypes:
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4589
      start: 4583
    functionDepth: 2
    functionLinenumber: 4583
    functionLinenumberEnd: 4589
    functionName: XXH3_avalanche
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_xorshift64
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH64_hash_t XXH3_avalanche(xxh_u64 h64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4599,1
    - Dst: XXH_rotl64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4599,1
    - Dst: XXH_xorshift64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h64
    - len
    argTypes:
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4596
    functionDepth: 2
    functionLinenumber: 4596
    functionLinenumberEnd: 4604
    functionName: XXH3_rrmxmx
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH_xorshift64
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH64_hash_t XXH3_rrmxmx(xxh_u64 h64, xxh_u64 len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4643,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4644,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4645,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4656,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4656,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4640
    functionDepth: 1
    functionLinenumber: 4640
    functionLinenumberEnd: 4660
    functionName: XXH3_len_1to3_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH64_avalanche
    - XXH_readLE32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_1to3_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4665,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4666,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4667,1
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4668,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4669,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4670,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4671,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4671,1
    - Dst: XXH3_rrmxmx
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4676
      start: 4662
    functionDepth: 3
    functionLinenumber: 4662
    functionLinenumberEnd: 4676
    functionName: XXH3_len_4to8_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_readLE32
    - XXH_readLE64
    - XXH_swap32
    - XXH3_rrmxmx
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_4to8_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4681,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4682,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4683,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4684,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4684,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4685,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4685,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4686,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4687,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4689,1
    - Dst: XXH3_mul128_fold64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4690,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4693
      start: 4678
    functionDepth: 3
    functionLinenumber: 4678
    functionLinenumberEnd: 4693
    functionName: XXH3_len_9to16_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_swap64
    - XXH3_mul128_fold64
    - XXH_readLE64
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_9to16_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4698,1
    - Dst: XXH_likely
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4699,1
    - Dst: XXH3_len_9to16_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4699,1
    - Dst: XXH_likely
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4700,1
    - Dst: XXH3_len_4to8_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4700,1
    - Dst: XXH3_len_1to3_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4701,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4702,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4702,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4704
      start: 4695
    functionDepth: 4
    functionLinenumber: 4695
    functionLinenumberEnd: 4704
    functionName: XXH3_len_0to16_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_len_1to3_64b
    - XXH3_len_4to8_64b
    - XXH3_len_9to16_64b
    - XXH_likely
    - XXH_readLE64
    - XXH64_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_0to16_64b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4753,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4755,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4756,1
    - Dst: XXH3_mul128_fold64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4757,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4758,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - seed64
    argTypes:
    - xxh_u8*
    - xxh_u8*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4732
    functionDepth: 3
    functionLinenumber: 4732
    functionLinenumberEnd: 4762
    functionName: XXH3_mix16B
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_COMPILER_GUARD
    - XXH3_mul128_fold64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_mix16B(const xxh_u8* XXH_RESTRICT input,\n                                     const
      xxh_u8* XXH_RESTRICT secret, xxh_u64 seed64)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4770,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4771,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4778,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4779,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4785,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4786,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4788,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4789,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4791,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4792,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4794,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4795,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4799
      start: 4765
    functionDepth: 4
    functionLinenumber: 4765
    functionLinenumberEnd: 4799
    functionName: XXH3_len_17to128_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_mix16B
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_len_17to128_64b(const xxh_u8* XXH_RESTRICT input,
      size_t len,\n                     const xxh_u8* XXH_RESTRICT secret, size_t
      secretSize,\n                     XXH64_hash_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4806,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4807,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4816,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4818,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4821,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4822,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4823,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4853,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4854,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4858
      start: 4801
    functionDepth: 4
    functionLinenumber: 4801
    functionLinenumberEnd: 4858
    functionName: XXH3_len_129to240_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    - XXH3_mix16B
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input,
      size_t len,\n                      const xxh_u8* XXH_RESTRICT secret, size_t
      secretSize,\n                      XXH64_hash_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4911
      start: 4894
    functionDepth: 0
    functionLinenumber: 4894
    functionLinenumberEnd: 4911
    functionName: XXH3_ACCUMULATE_TEMPLATE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH3_ACCUMULATE_TEMPLATE(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4915,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - v64
    argTypes:
    - void*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4913
    functionDepth: 2
    functionLinenumber: 4913
    functionLinenumberEnd: 4917
    functionName: XXH_writeLE64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_writeLE64(void* dst, xxh_u64 v64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4970,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4971,1
    - Dst: _mm512_loadu_si512
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4975,1
    - Dst: _mm512_loadu_si512
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4977,1
    - Dst: _mm512_xor_si512
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4979,1
    - Dst: _mm512_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4981,1
    - Dst: _mm512_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4983,1
    - Dst: _mm512_shuffle_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4985,1
    - Dst: _MM_SHUFFLE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4985,1
    - Dst: _mm512_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4986,1
    - Dst: _mm512_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:4988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4990
      start: 4964
    functionDepth: 1
    functionLinenumber: 4964
    functionLinenumberEnd: 4990
    functionName: XXH3_accumulate_512_avx512
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - _mm512_loadu_si512
    - _mm512_shuffle_epi32
    - _MM_SHUFFLE
    - XXH_STATIC_ASSERT
    - _mm512_srli_epi64
    - _mm512_mul_epu32
    - _mm512_add_epi64
    - _mm512_xor_si512
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_avx512(void* XXH_RESTRICT acc,\n
      \                    const void* XXH_RESTRICT input,\n                     const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5017,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5018,1
    - Dst: _mm512_set1_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5020,1
    - Dst: _mm512_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5024,1
    - Dst: _mm512_loadu_si512
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5026,1
    - Dst: _mm512_ternarylogic_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5027,1
    - Dst: _mm512_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5030,1
    - Dst: _mm512_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5031,1
    - Dst: _mm512_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5032,1
    - Dst: _mm512_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5033,1
    - Dst: _mm512_slli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5035
      start: 5014
    functionDepth: 1
    functionLinenumber: 5014
    functionLinenumberEnd: 5035
    functionName: XXH3_scrambleAcc_avx512
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - _mm512_loadu_si512
    - _mm512_slli_epi64
    - _mm512_ternarylogic_epi32
    - XXH_STATIC_ASSERT
    - _mm512_srli_epi64
    - _mm512_mul_epu32
    - _mm512_add_epi64
    - _mm512_set1_epi32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_avx512(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5040,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5041,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5042,1
    - Dst: _mm512_set1_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5045,1
    - Dst: _mm512_mask_sub_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5046,1
    - Dst: _mm512_set1_epi8
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5046,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5051,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5052,1
    - Dst: _mm512_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5054,1
    - Dst: _mm512_load_si512
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 5037
    functionDepth: 1
    functionLinenumber: 5037
    functionLinenumberEnd: 5056
    functionName: XXH3_initCustomSecret_avx512
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - _mm512_load_si512
    - XXH_STATIC_ASSERT
    - _mm512_mask_sub_epi64
    - _mm512_add_epi64
    - _mm512_set1_epi8
    - _mm512_set1_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_avx512(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5072,1
    - Dst: _mm256_loadu_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5084,1
    - Dst: _mm256_loadu_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5086,1
    - Dst: _mm256_xor_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5088,1
    - Dst: _mm256_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5090,1
    - Dst: _mm256_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5092,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5094,1
    - Dst: _MM_SHUFFLE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5094,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5095,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5099
      start: 5067
    functionDepth: 1
    functionLinenumber: 5067
    functionLinenumberEnd: 5099
    functionName: XXH3_accumulate_512_avx2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - _mm256_xor_si256
    - _mm256_mul_epu32
    - _MM_SHUFFLE
    - _mm256_add_epi64
    - _mm256_loadu_si256
    - _mm256_srli_epi64
    - _mm256_shuffle_epi32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_avx2( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5105,1
    - Dst: _mm256_set1_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5110,1
    - Dst: _mm256_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5116,1
    - Dst: _mm256_xor_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5117,1
    - Dst: _mm256_loadu_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5119,1
    - Dst: _mm256_xor_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5120,1
    - Dst: _mm256_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5123,1
    - Dst: _mm256_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5124,1
    - Dst: _mm256_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5125,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5126,1
    - Dst: _mm256_slli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5129
      start: 5102
    functionDepth: 1
    functionLinenumber: 5102
    functionLinenumberEnd: 5129
    functionName: XXH3_scrambleAcc_avx2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - _mm256_xor_si256
    - _mm256_mul_epu32
    - _mm256_add_epi64
    - _mm256_set1_epi32
    - _mm256_slli_epi64
    - _mm256_loadu_si256
    - _mm256_srli_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_avx2(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5133,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5134,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5135,1
    - Dst: XXH_PREFETCH
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5137,1
    - Dst: _mm256_set_epi64x
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5138,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5149,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5151,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5152,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5155,1
    - Dst: _mm256_load_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5155,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5156,1
    - Dst: _mm256_load_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5156,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5157,1
    - Dst: _mm256_load_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5157,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5158,1
    - Dst: _mm256_load_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5158,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5159,1
    - Dst: _mm256_load_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5159,1
    - Dst: _mm256_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5160,1
    - Dst: _mm256_load_si256
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5162
      start: 5131
    functionDepth: 1
    functionLinenumber: 5131
    functionLinenumberEnd: 5162
    functionName: XXH3_initCustomSecret_avx2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    - XXH_PREFETCH
    - _mm256_add_epi64
    - _mm256_set_epi64x
    - XXH_STATIC_ASSERT
    - _mm256_load_si256
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_avx2(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5179,1
    - Dst: _mm_loadu_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5191,1
    - Dst: _mm_loadu_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5193,1
    - Dst: _mm_xor_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5195,1
    - Dst: _mm_shuffle_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5197,1
    - Dst: _MM_SHUFFLE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5197,1
    - Dst: _mm_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5199,1
    - Dst: _mm_shuffle_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5201,1
    - Dst: _MM_SHUFFLE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5201,1
    - Dst: _mm_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5202,1
    - Dst: _mm_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5206
      start: 5173
    functionDepth: 1
    functionLinenumber: 5173
    functionLinenumberEnd: 5206
    functionName: XXH3_accumulate_512_sse2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - _MM_SHUFFLE
    - _mm_add_epi64
    - _mm_shuffle_epi32
    - _mm_xor_si128
    - _mm_loadu_si128
    - _mm_mul_epu32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5212,1
    - Dst: _mm_set1_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5217,1
    - Dst: _mm_srli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5223,1
    - Dst: _mm_xor_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5224,1
    - Dst: _mm_loadu_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5226,1
    - Dst: _mm_xor_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5227,1
    - Dst: _mm_shuffle_epi32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5230,1
    - Dst: _MM_SHUFFLE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5230,1
    - Dst: _mm_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5231,1
    - Dst: _mm_mul_epu32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5232,1
    - Dst: _mm_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5233,1
    - Dst: _mm_slli_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5236
      start: 5209
    functionDepth: 1
    functionLinenumber: 5209
    functionLinenumberEnd: 5236
    functionName: XXH3_scrambleAcc_sse2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    - XXH_ASSERT
    - _mm_slli_epi64
    - _MM_SHUFFLE
    - _mm_add_epi64
    - _mm_shuffle_epi32
    - _mm_srli_epi64
    - _mm_xor_si128
    - _mm_loadu_si128
    - _mm_mul_epu32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_sse2(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5240,1
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5246,1
    - Dst: _mm_load_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5247,1
    - Dst: _mm_set_epi64x
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5249,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5261,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5263,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5264,1
    - Dst: _mm_add_epi64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5267,1
    - Dst: _mm_load_si128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5269
      start: 5238
    functionDepth: 1
    functionLinenumber: 5238
    functionLinenumberEnd: 5269
    functionName: XXH3_initCustomSecret_sse2
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    - _mm_set_epi64x
    - _mm_add_epi64
    - XXH_STATIC_ASSERT
    - _mm_load_si128
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_sse2(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5313,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5314,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5340,1
    - Dst: XXH3_scalarRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5344,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5350,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5351,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5353,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5354,1
    - Dst: vextq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5356,1
    - Dst: vextq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5357,1
    - Dst: veorq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5359,1
    - Dst: veorq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5360,1
    - Dst: vuzpq_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5375,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5376,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5377,1
    - Dst: XXH_vmlal_low_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5390,1
    - Dst: XXH_vmlal_high_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5391,1
    - Dst: XXH_COMPILER_GUARD_CLANG_NEON
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5404,1
    - Dst: XXH_COMPILER_GUARD_CLANG_NEON
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5405,1
    - Dst: vaddq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5407,1
    - Dst: vaddq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5408,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5413,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5415,1
    - Dst: vextq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5417,1
    - Dst: veorq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5419,1
    - Dst: vmovn_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5422,1
    - Dst: vshrn_n_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5424,1
    - Dst: vmlal_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5426,1
    - Dst: XXH_COMPILER_GUARD_CLANG_NEON
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5428,1
    - Dst: vaddq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5433
      start: 5308
    functionDepth: 1
    functionLinenumber: 5308
    functionLinenumberEnd: 5433
    functionName: XXH3_accumulate_512_neon
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_u32
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    - veorq_u64
    - vreinterpretq_u32_u64
    - XXH3_scalarRound
    - XXH_vld1q_u64
    - vshrn_n_u64
    - XXH_STATIC_ASSERT
    - vextq_u64
    - XXH_vmlal_low_u32
    - vuzpq_u32
    - XXH_COMPILER_GUARD_CLANG_NEON
    - XXH_vmlal_high_u32
    - vmovn_u64
    - vaddq_u64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_neon( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5439,1
    - Dst: vdup_n_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5448,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5450,1
    - Dst: vdupq_n_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5450,1
    - Dst: XXH3_scalarScrambleRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5455,1
    - Dst: vshrq_n_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5460,1
    - Dst: veorq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5461,1
    - Dst: XXH_vld1q_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5464,1
    - Dst: veorq_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5465,1
    - Dst: vmulq_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5482,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5482,1
    - Dst: vmovn_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5484,1
    - Dst: vmlal_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5486,1
    - Dst: vreinterpretq_u64_u32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5490
      start: 5436
    functionDepth: 1
    functionLinenumber: 5436
    functionLinenumberEnd: 5490
    functionName: XXH3_scrambleAcc_neon
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_u32
    - XXH_ASSERT
    - veorq_u64
    - XXH3_scalarScrambleRound
    - vshrq_n_u64
    - vreinterpretq_u32_u64
    - vreinterpretq_u64_u32
    - XXH_vld1q_u64
    - vdupq_n_u64
    - vmulq_u32
    - vdup_n_u32
    - vmovn_u64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_neon(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_vec_loadu
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5508,1
    - Dst: XXH_vec_loadu
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5510,1
    - Dst: vec_rl
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5513,1
    - Dst: XXH_vec_mulo
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5515,1
    - Dst: vec_permi
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5522,1
    - Dst: vec_xxpermdi
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5528
      start: 5495
    functionDepth: 3
    functionLinenumber: 5495
    functionLinenumberEnd: 5528
    functionName: XXH3_accumulate_512_vsx
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_mulo
    - vec_xxpermdi
    - XXH_vec_loadu
    - vec_rl
    - vec_permi
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_vsx(  void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5534,1
    - Dst: XXH_vec_loadu
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5549,1
    - Dst: XXH_vec_mule
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5554,1
    - Dst: XXH_vec_mulo
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5559
      start: 5531
    functionDepth: 3
    functionLinenumber: 5531
    functionLinenumberEnd: 5559
    functionName: XXH3_scrambleAcc_vsx
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_loadu
    - XXH_ASSERT
    - XXH_vec_mulo
    - XXH_vec_mule
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_vsx(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sveor_n_u64_z
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5573,1
    - Dst: svptrue_b64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5573,1
    - Dst: svindex_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5573,1
    - Dst: svcntd
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5574,1
    - Dst: svptrue_pat_b64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5576,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5577,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5578,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5579,1
    - Dst: svptrue_pat_b64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5581,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5582,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5583,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5584,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5585,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5586,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5587,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5588,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5589,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5590,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5591,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5592,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5593,1
    - Dst: svptrue_pat_b64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5595,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5596,1
    - Dst: svld1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5597,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5598,1
    - Dst: ACCRND
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5599,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5600,1
    - Dst: svst1_u64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5565
    functionDepth: 1
    functionLinenumber: 5565
    functionLinenumberEnd: 5603
    functionName: XXH3_accumulate_512_sve
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - svptrue_pat_b64
    - svst1_u64
    - svptrue_b64
    - ACCRND
    - svcntd
    - svld1_u64
    - sveor_n_u64_z
    - svindex_u64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_sve( void* XXH_RESTRICT acc,\n
      \                  const void* XXH_RESTRICT input,\n                   const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - z
    - ','
    - y
    - ','
    - x
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5674
      start: 5673
    functionDepth: 0
    functionLinenumber: 5673
    functionLinenumberEnd: 5674
    functionName: _LSX_SHUFFLE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LSX_SHUFFLE(z, y, x, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5680,1
    - Dst: __lsx_vld
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5688,1
    - Dst: __lsx_vld
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5690,1
    - Dst: __lsx_vxor_v
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5692,1
    - Dst: __lsx_vsrli_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5694,1
    - Dst: __lsx_vmulwev_d_wu
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5697,1
    - Dst: __lsx_vshuf4i_w
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5699,1
    - Dst: _LSX_SHUFFLE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5699,1
    - Dst: __lsx_vadd_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5700,1
    - Dst: __lsx_vadd_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5705
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5705
    functionName: XXH3_accumulate_512_lsx
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - __lsx_vld
    - __lsx_vsrli_d
    - __lsx_vxor_v
    - _LSX_SHUFFLE
    - __lsx_vadd_d
    - __lsx_vshuf4i_w
    - __lsx_vmulwev_d_wu
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_lsx( void* XXH_RESTRICT acc,\n
      \                   const void* XXH_RESTRICT input,\n                    const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5711,1
    - Dst: __lsx_vreplgr2vr_w
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5715,1
    - Dst: __lsx_vsrli_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5720,1
    - Dst: __lsx_vxor_v
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5721,1
    - Dst: __lsx_vld
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5723,1
    - Dst: __lsx_vxor_v
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5724,1
    - Dst: __lsx_vsrli_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5727,1
    - Dst: __lsx_vmulwev_d_wu
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5728,1
    - Dst: __lsx_vmulwev_d_wu
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5729,1
    - Dst: __lsx_vadd_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5730,1
    - Dst: __lsx_vslli_d
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5708
    functionDepth: 1
    functionLinenumber: 5708
    functionLinenumberEnd: 5733
    functionName: XXH3_scrambleAcc_lsx
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - __lsx_vslli_d
    - XXH_ASSERT
    - __lsx_vld
    - __lsx_vsrli_d
    - __lsx_vxor_v
    - __lsx_vadd_d
    - __lsx_vmulwev_d_wu
    - __lsx_vreplgr2vr_w
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_lsx(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - acc
    argTypes:
    - xxh_u64
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5761
      start: 5754
    functionDepth: 0
    functionLinenumber: 5754
    functionLinenumberEnd: 5761
    functionName: XXH_mult32to64_add64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_mult32to64_add64(xxh_u64 lhs, xxh_u64 rhs, xxh_u64
      acc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lhs
    - rhs
    - acc
    argTypes:
    - xxh_u64
    - xxh_u64
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5767
      start: 5763
    functionDepth: 1
    functionLinenumber: 5763
    functionLinenumberEnd: 5767
    functionName: XXH_mult32to64_add64
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult32to64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH_mult32to64_add64(xxh_u64 lhs, xxh_u64 rhs, xxh_u64
      acc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5786,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5787,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5789,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5790,1
    - Dst: XXH_mult32to64_add64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    - lane
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5794
      start: 5777
    functionDepth: 1
    functionLinenumber: 5777
    functionLinenumberEnd: 5794
    functionName: XXH3_scalarRound
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 1
    functionsReached:
    - XXH_ASSERT
    - XXH_mult32to64_add64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_scalarRound(void* XXH_RESTRICT acc,\n                 void
      const* XXH_RESTRICT input,\n                 void const* XXH_RESTRICT secret,\n
      \                size_t lane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_scalarRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5816
      start: 5800
    functionDepth: 2
    functionLinenumber: 5800
    functionLinenumberEnd: 5816
    functionName: XXH3_accumulate_512_scalar
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_scalarRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_accumulate_512_scalar(void* XXH_RESTRICT acc,\n
      \                    const void* XXH_RESTRICT input,\n                     const
      void* XXH_RESTRICT secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5833,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5834,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5836,1
    - Dst: XXH_xorshift64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - lane
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5843
      start: 5826
    functionDepth: 2
    functionLinenumber: 5826
    functionLinenumberEnd: 5843
    functionName: XXH3_scalarScrambleRound
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 1
    functionsReached:
    - XXH_xorshift64
    - XXH_ASSERT
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_scalarScrambleRound(void* XXH_RESTRICT acc,\n
      \                        void const* XXH_RESTRICT secret,\n                         size_t
      lane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_scalarScrambleRound
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5849
    functionDepth: 3
    functionLinenumber: 5849
    functionLinenumberEnd: 5856
    functionName: XXH3_scrambleAcc_scalar
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_scalarScrambleRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_scrambleAcc_scalar(void* XXH_RESTRICT acc, const
      void* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5867,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5902,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5913,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5914,1
    - Dst: XXH_writeLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5915,1
    - Dst: XXH_writeLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:5916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5918
      start: 5858
    functionDepth: 3
    functionLinenumber: 5858
    functionLinenumberEnd: 5918
    functionName: XXH3_initCustomSecret_scalar
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_writeLE64
    - XXH_COMPILER_GUARD
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret,
      xxh_u64 seed64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mul128_fold64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6023,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6024,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - xxh_u64*
    - xxh_u8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6026
      start: 6020
    functionDepth: 3
    functionLinenumber: 6020
    functionLinenumberEnd: 6026
    functionName: XXH3_mix2Accs
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readLE64
    - XXH3_mul128_fold64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_mix2Accs(const xxh_u64* XXH_RESTRICT acc, const
      xxh_u8* XXH_RESTRICT secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mix2Accs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6035,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6048,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - start
    argTypes:
    - xxh_u64*
    - xxh_u8*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6053
      start: 6028
    functionDepth: 4
    functionLinenumber: 6028
    functionLinenumberEnd: 6053
    functionName: XXH64_hash_t::XXH3_mergeAccs
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_COMPILER_GUARD
    - XXH3_mix2Accs
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_PUREF
    signature: 'XXH_PUREF XXH64_hash_t

      XXH3_mergeAccs(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT secret,
      xxh_u64 start)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_mergeAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - len
    argTypes:
    - xxh_u64*
    - xxh_u8*
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6062
      start: 6058
    functionDepth: 5
    functionLinenumber: 6058
    functionLinenumberEnd: 6062
    functionName: XXH64_hash_t::XXH3_finalizeLong_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_mergeAccs
    linkageType: ''
    returnType: XXH_PUREF
    signature: 'XXH_PUREF XXH64_hash_t

      XXH3_finalizeLong_64b(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT
      secret, xxh_u64 len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6073,1
    - Dst: XXH3_hashLong_internal_loop
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6075,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6078,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6079,1
    - Dst: XXH64_hash_t::XXH3_finalizeLong_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - f_acc
    - f_scramble
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6081
      start: 6067
    functionDepth: 6
    functionLinenumber: 6067
    functionLinenumberEnd: 6081
    functionName: XXH64_hash_t::XXH3_hashLong_64b_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_hashLong_internal_loop
    - XXH_STATIC_ASSERT
    - XXH64_hash_t::XXH3_finalizeLong_64b
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_hashLong_64b_internal(const void*
      XXH_RESTRICT input, size_t len,\n                           const void* XXH_RESTRICT
      secret, size_t secretSize,\n                           XXH3_f_accumulate f_acc,\n
      \                          XXH3_f_scrambleAcc f_scramble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6096
      start: 6090
    functionDepth: 7
    functionLinenumber: 6090
    functionLinenumberEnd: 6096
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH3_WITH_SECRET_INLINE
    signature: "XXH3_WITH_SECRET_INLINE XXH64_hash_t\nXXH3_hashLong_64b_withSecret(const
      void* XXH_RESTRICT input, size_t len,\n                             XXH64_hash_t
      seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_hashLong_64b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6110
      start: 6104
    functionDepth: 0
    functionLinenumber: 6104
    functionLinenumberEnd: 6110
    functionName: XXH3_hashLong_64b_default
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_hashLong_64b_default(const void* XXH_RESTRICT input,
      size_t len,\n                          XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT
      secret, size_t secretLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6132,1
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6136,1
    - Dst: f_initSec
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6137,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - input
    - len
    - seed
    - f_acc
    - f_scramble
    - f_initSec
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    - XXH3_f_initCustomSecret
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6141
      start: 6123
    functionDepth: 7
    functionLinenumber: 6123
    functionLinenumberEnd: 6141
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - f_initSec
    - XXH_ALIGN
    - XXH64_hash_t::XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_hashLong_64b_withSeed_internal(const
      void* input, size_t len,\n                                    XXH64_hash_t seed,\n
      \                                   XXH3_f_accumulate f_acc,\n                                    XXH3_f_scrambleAcc
      f_scramble,\n                                    XXH3_f_initCustomSecret f_initSec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6153
      start: 6146
    functionDepth: 8
    functionLinenumber: 6146
    functionLinenumberEnd: 6153
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH64_hash_t\nXXH3_hashLong_64b_withSeed(const void*
      XXH_RESTRICT input, size_t len,\n                           XXH64_hash_t seed,
      const xxh_u8* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6164,1
    - Dst: XXH3_len_0to16_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6173,1
    - Dst: XXH3_len_17to128_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6175,1
    - Dst: XXH3_len_129to240_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6177,1
    - Dst: f_hashLong
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    - f_hashLong
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    - XXH3_hashLong64_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6179
      start: 6159
    functionDepth: 5
    functionLinenumber: 6159
    functionLinenumberEnd: 6179
    functionName: XXH64_hash_t::XXH3_64bits_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_len_129to240_64b
    - XXH3_len_0to16_64b
    - f_hashLong
    - XXH3_len_17to128_64b
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH64_hash_t\nXXH3_64bits_internal(const void* XXH_RESTRICT
      input, size_t len,\n                     XXH64_hash_t seed64, const void* XXH_RESTRICT
      secret, size_t secretLen,\n                     XXH3_hashLong64_f f_hashLong)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6188
      start: 6185
    functionDepth: 6
    functionLinenumber: 6185
    functionLinenumberEnd: 6188
    functionName: XXH64_hash_t::XXH3_64bits
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(XXH_NOESCAPE const void* input,
      size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - length
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6195
      start: 6191
    functionDepth: 6
    functionLinenumber: 6191
    functionLinenumberEnd: 6195
    functionName: XXH64_hash_t::XXH3_64bits_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH64_hash_t

      XXH3_64bits_withSecret(XXH_NOESCAPE const void* input, size_t length, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - length
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6202
      start: 6198
    functionDepth: 6
    functionLinenumber: 6198
    functionLinenumberEnd: 6202
    functionName: XXH64_hash_t::XXH3_64bits_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH64_hash_t

      XXH3_64bits_withSeed(XXH_NOESCAPE const void* input, size_t length, XXH64_hash_t
      seed)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6208,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - input
    - length
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6210
      start: 6204
    functionDepth: 8
    functionLinenumber: 6204
    functionLinenumberEnd: 6210
    functionName: XXH64_hash_t::XXH3_64bits_withSecretandSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH64_hash_t

      XXH3_64bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t length,
      XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6240,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6241,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6242,1
    - Dst: XXH_malloc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6244,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6264
      start: 6238
    functionDepth: 1
    functionLinenumber: 6238
    functionLinenumberEnd: 6264
    functionName: XXH_alignedMalloc
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_malloc
    linkageType: ''
    returnType: XXH_MALLOCF
    signature: XXH_MALLOCF * XXH_alignedMalloc(size_t s, size_t align)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6279
      start: 6269
    functionDepth: 1
    functionLinenumber: 6269
    functionLinenumberEnd: 6279
    functionName: XXH_alignedFree
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: void
    signature: void XXH_alignedFree(void* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_alignedMalloc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6293,1
    - Dst: XXH3_INITSTATE
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6297
      start: 6291
    functionDepth: 2
    functionLinenumber: 6291
    functionLinenumberEnd: 6297
    functionName: XXH3_state_t* XXH3_createState(void)
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_INITSTATE
    - XXH_alignedMalloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH3_state_t* XXH3_createState(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_alignedFree
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH3_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6315
      start: 6311
    functionDepth: 2
    functionLinenumber: 6311
    functionLinenumberEnd: 6315
    functionName: XXH_errorcode::XXH3_freeState
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_alignedFree
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t* statePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH3_state_t* dst_state
    - XXH3_state_t* src_state
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6322
      start: 6318
    functionDepth: 2
    functionLinenumber: 6318
    functionLinenumberEnd: 6322
    functionName: XXH3_copyState
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH3_copyState(XXH_NOESCAPE XXH3_state_t* dst_state,
      XXH_NOESCAPE const XXH3_state_t* src_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6331,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6332,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6334,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - statePtr
    - seed
    - secret
    - secretSize
    argTypes:
    - XXH3_state_t*
    - XXH64_hash_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6349
      start: 6324
    functionDepth: 1
    functionLinenumber: 6324
    functionLinenumberEnd: 6349
    functionName: XXH3_reset_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - memset
    linkageType: ''
    returnType: void
    signature: "void XXH3_reset_internal(XXH3_state_t* statePtr,\n                    XXH64_hash_t
      seed,\n                    const void* secret, size_t secretSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - XXH3_state_t* statePtr
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6358
      start: 6352
    functionDepth: 2
    functionLinenumber: 6352
    functionLinenumberEnd: 6358
    functionName: XXH_errorcode::XXH3_64bits_reset
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6361
    functionDepth: 2
    functionLinenumber: 6361
    functionLinenumberEnd: 6369
    functionName: XXH_errorcode::XXH3_64bits_reset_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6376,1
    - Dst: XXH3_initCustomSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6378,1
    - Dst: XXH3_reset_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - XXH3_state_t* statePtr
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6381
      start: 6372
    functionDepth: 3
    functionLinenumber: 6372
    functionLinenumberEnd: 6381
    functionName: XXH_errorcode::XXH3_64bits_reset_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    - XXH_errorcode::XXH3_64bits_reset
    - XXH3_initCustomSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t
      seed)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    - seed64
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6393
      start: 6384
    functionDepth: 2
    functionLinenumber: 6384
    functionLinenumberEnd: 6393
    functionName: XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize, XXH64_hash_t seed64)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f_acc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6428,1
    - Dst: f_scramble
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6429,1
    - Dst: f_acc
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 9
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT nbStripesSoFarPtr
    - nbStripesPerBlock
    - XXH_RESTRICT
    - nbStripes
    - XXH_RESTRICT
    - secretLimit
    - f_acc
    - f_scramble
    argTypes:
    - xxh_u64*
    - size_t*
    - size_t
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6446
      start: 6412
    functionDepth: 0
    functionLinenumber: 6412
    functionLinenumberEnd: 6446
    functionName: XXH3_consumeStripes
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - f_acc
    - f_scramble
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE *\nXXH3_consumeStripes(xxh_u64* XXH_RESTRICT acc,\n
      \                   size_t* XXH_RESTRICT nbStripesSoFarPtr, size_t nbStripesPerBlock,\n
      \                   const xxh_u8* XXH_RESTRICT input, size_t nbStripes,\n                    const
      xxh_u8* XXH_RESTRICT secret, size_t secretLimit,\n                    XXH3_f_accumulate
      f_acc,\n                    XXH3_f_scrambleAcc f_scramble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_update
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH3_state_t* state
    - input
    - len
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6541
      start: 6536
    functionDepth: 0
    functionLinenumber: 6536
    functionLinenumberEnd: 6541
    functionName: XXH_errorcode::XXH3_64bits_update
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_64bits_update(XXH_NOESCAPE XXH3_state_t* state, XXH_NOESCAPE const void*
      input, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6556,1
    - Dst: XXH3_consumeStripes
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6561,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6570,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6571,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6572,1
    - Dst: XXH3_accumulate_512
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - acc
    - state
    - secret
    argTypes:
    - XXH64_hash_t*
    - XXH3_state_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6579
      start: 6544
    functionDepth: 2
    functionLinenumber: 6544
    functionLinenumberEnd: 6579
    functionName: XXH3_digest_long
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_consumeStripes
    - XXH_memcpy
    - XXH3_accumulate_512
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_digest_long (XXH64_hash_t* acc,\n                  const
      XXH3_state_t* state,\n                  const unsigned char* secret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6586,1
    - Dst: XXH3_digest_long
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6587,1
    - Dst: XXH64_hash_t::XXH3_finalizeLong_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6588,1
    - Dst: XXH64_hash_t::XXH3_64bits_withSeed
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6592,1
    - Dst: XXH64_hash_t::XXH3_64bits_withSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - XXH3_state_t* state
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6595
      start: 6582
    functionDepth: 7
    functionLinenumber: 6582
    functionLinenumberEnd: 6595
    functionName: XXH64_hash_t::XXH3_64bits_digest
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_digest_long
    - XXH64_hash_t::XXH3_64bits_withSecret
    - XXH64_hash_t::XXH3_64bits_withSeed
    - XXH64_hash_t::XXH3_finalizeLong_64b
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_digest (XXH_NOESCAPE const
      XXH3_state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6620,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6621,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6622,1
    - Dst: XXH_rotl32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6633,1
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6633,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6634,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6634,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6635,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6635,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6639,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6643
      start: 6616
    functionDepth: 1
    functionLinenumber: 6616
    functionLinenumberEnd: 6643
    functionName: XXH3_len_1to3_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_rotl32
    - XXH_readLE32
    - XXH_swap32
    - XXH64_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_1to3_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6648,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6649,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6650,1
    - Dst: XXH_swap32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6651,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6652,1
    - Dst: XXH_readLE32
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6653,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6655,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6655,1
    - Dst: XXH_mult64to128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6659,1
    - Dst: XXH_xorshift64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6664,1
    - Dst: XXH_xorshift64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6666,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6670
      start: 6645
    functionDepth: 3
    functionLinenumber: 6645
    functionLinenumberEnd: 6670
    functionName: XXH3_len_4to8_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH_xorshift64
    - XXH_mult64to128
    - XXH_readLE32
    - XXH_readLE64
    - XXH_swap32
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_4to8_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6675,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6676,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6677,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6678,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6678,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6679,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6679,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6680,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6681,1
    - Dst: XXH_mult64to128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6682,1
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6703,1
    - Dst: XXH_mult32to64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6729,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6732,1
    - Dst: XXH_mult64to128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6735,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6738,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6742
      start: 6672
    functionDepth: 3
    functionLinenumber: 6672
    functionLinenumberEnd: 6742
    functionName: XXH3_len_9to16_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult32to64
    - XXH_ASSERT
    - XXH_mult64to128
    - XXH_swap64
    - XXH_readLE64
    - XXH3_avalanche
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_9to16_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6750,1
    - Dst: XXH3_len_9to16_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6751,1
    - Dst: XXH3_len_4to8_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6752,1
    - Dst: XXH3_len_1to3_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6753,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6755,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6755,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6756,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6756,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6757,1
    - Dst: XXH64_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6761
      start: 6747
    functionDepth: 4
    functionLinenumber: 6747
    functionLinenumberEnd: 6761
    functionName: XXH3_len_0to16_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_len_4to8_128b
    - XXH_readLE64
    - XXH64_avalanche
    - XXH3_len_1to3_128b
    - XXH3_len_9to16_128b
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_len_0to16_128b(const xxh_u8* input, size_t len,
      const xxh_u8* secret, XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6770,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6771,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6771,1
    - Dst: XXH3_mix16B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6772,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6773,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - acc
    - input_1
    - input_2
    - secret
    - seed
    argTypes:
    - XXH128_hash_t
    - xxh_u8*
    - xxh_u8*
    - xxh_u8*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6775
      start: 6766
    functionDepth: 4
    functionLinenumber: 6766
    functionLinenumberEnd: 6775
    functionName: XXH128_hash_t::XXH128_mix32B
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mix16B
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH128_mix32B(XXH128_hash_t acc, const
      xxh_u8* input_1, const xxh_u8* input_2,\n              const xxh_u8* secret,
      XXH64_hash_t seed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6783,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6784,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6795,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6802,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6804,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6806,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6808,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6815,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6820
      start: 6778
    functionDepth: 3
    functionLinenumber: 6778
    functionLinenumberEnd: 6820
    functionName: XXH3_len_17to128_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_avalanche
    - XXH128_mix32B
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH3_len_17to128_128b(const xxh_u8* XXH_RESTRICT
      input, size_t len,\n                      const xxh_u8* XXH_RESTRICT secret,
      size_t secretSize,\n                      XXH64_hash_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6827,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6828,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6841,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6847,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6848,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6855,1
    - Dst: XXH128_mix32B
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6862,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6873,1
    - Dst: XXH3_avalanche
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6878
      start: 6822
    functionDepth: 3
    functionLinenumber: 6822
    functionLinenumberEnd: 6878
    functionName: XXH3_len_129to240_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_avalanche
    - XXH128_mix32B
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_len_129to240_128b(const xxh_u8* XXH_RESTRICT input,
      size_t len,\n                       const xxh_u8* XXH_RESTRICT secret, size_t
      secretSize,\n                       XXH64_hash_t seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_finalizeLong_64b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6884,1
    - Dst: XXH3_mergeAccs
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - secretSize
    - len
    argTypes:
    - xxh_u64*
    - xxh_u8*
    - size_t
    - xxh_u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6889
      start: 6880
    functionDepth: 0
    functionLinenumber: 6880
    functionLinenumberEnd: 6889
    functionName: XXH128_hash_t::XXH3_finalizeLong_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH3_finalizeLong_64b
    linkageType: ''
    returnType: XXH_PUREF
    signature: 'XXH_PUREF XXH128_hash_t

      XXH3_finalizeLong_128b(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT
      secret, size_t secretSize, xxh_u64 len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6897,1
    - Dst: XXH3_hashLong_internal_loop
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6899,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6902,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6903,1
    - Dst: XXH128_hash_t::XXH3_finalizeLong_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - f_acc
    - f_scramble
    argTypes:
    - void*
    - size_t
    - xxh_u8*
    - size_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6905
      start: 6891
    functionDepth: 1
    functionLinenumber: 6891
    functionLinenumberEnd: 6905
    functionName: XXH128_hash_t::XXH3_hashLong_128b_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_hashLong_internal_loop
    - XXH_STATIC_ASSERT
    - XXH128_hash_t::XXH3_finalizeLong_128b
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_hashLong_128b_internal(const
      void* XXH_RESTRICT input, size_t len,\n                            const xxh_u8*
      XXH_RESTRICT secret, size_t secretSize,\n                            XXH3_f_accumulate
      f_acc,\n                            XXH3_f_scrambleAcc f_scramble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_hashLong_128b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6918
      start: 6910
    functionDepth: 0
    functionLinenumber: 6910
    functionLinenumberEnd: 6918
    functionName: XXH3_hashLong_128b_default
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH3_hashLong_128b_default(const void* XXH_RESTRICT
      input, size_t len,\n                           XXH64_hash_t seed64,\n                           const
      void* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6935
      start: 6927
    functionDepth: 2
    functionLinenumber: 6927
    functionLinenumberEnd: 6935
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH3_WITH_SECRET_INLINE
    signature: "XXH3_WITH_SECRET_INLINE XXH128_hash_t\nXXH3_hashLong_128b_withSecret(const
      void* XXH_RESTRICT input, size_t len,\n                              XXH64_hash_t
      seed64,\n                              const void* XXH_RESTRICT secret, size_t
      secretLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6945,1
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6948,1
    - Dst: f_initSec
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6949,1
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - f_acc
    - f_scramble
    - f_initSec
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    - XXH3_f_initCustomSecret
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6953
      start: 6937
    functionDepth: 2
    functionLinenumber: 6937
    functionLinenumberEnd: 6953
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - f_initSec
    - XXH128_hash_t::XXH3_hashLong_128b_internal
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_hashLong_128b_withSeed_internal(const
      void* XXH_RESTRICT input, size_t len,\n                                XXH64_hash_t
      seed64,\n                                XXH3_f_accumulate f_acc,\n                                XXH3_f_scrambleAcc
      f_scramble,\n                                XXH3_f_initCustomSecret f_initSec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - input
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6965
      start: 6958
    functionDepth: 3
    functionLinenumber: 6958
    functionLinenumberEnd: 6965
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH_NO_INLINE XXH128_hash_t\nXXH3_hashLong_128b_withSeed(const void*
      input, size_t len,\n                            XXH64_hash_t seed64, const void*
      XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6975,1
    - Dst: XXH3_len_0to16_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6983,1
    - Dst: XXH3_len_17to128_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6985,1
    - Dst: XXH3_len_129to240_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6987,1
    - Dst: f_hl128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - input
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    - f_hl128
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    - XXH3_hashLong128_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6989
      start: 6970
    functionDepth: 5
    functionLinenumber: 6970
    functionLinenumberEnd: 6989
    functionName: XXH128_hash_t::XXH3_128bits_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_len_129to240_128b
    - f_hl128
    - XXH3_len_17to128_128b
    - XXH3_len_0to16_128b
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH_FORCE_INLINE XXH128_hash_t\nXXH3_128bits_internal(const void*
      input, size_t len,\n                      XXH64_hash_t seed64, const void* XXH_RESTRICT
      secret, size_t secretLen,\n                      XXH3_hashLong128_f f_hl128)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:6997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7000
      start: 6995
    functionDepth: 6
    functionLinenumber: 6995
    functionLinenumberEnd: 7000
    functionName: XXH128_hash_t::XXH3_128bits
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(XXH_NOESCAPE const void*
      input, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7009
      start: 7003
    functionDepth: 6
    functionLinenumber: 7003
    functionLinenumberEnd: 7009
    functionName: XXH128_hash_t::XXH3_128bits_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH3_128bits_withSecret(XXH_NOESCAPE const void* input, size_t len, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7018
      start: 7012
    functionDepth: 6
    functionLinenumber: 7012
    functionLinenumberEnd: 7018
    functionName: XXH128_hash_t::XXH3_128bits_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH3_128bits_withSeed(XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t
      seed)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7025,1
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_withSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - input
    - len
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7027
      start: 7021
    functionDepth: 6
    functionLinenumber: 7021
    functionLinenumberEnd: 7027
    functionName: XXH128_hash_t::XXH3_128bits_withSecretandSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    - XXH128_hash_t::XXH3_hashLong_128b_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH3_128bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t len, XXH_NOESCAPE
      const void* secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7034
      start: 7030
    functionDepth: 7
    functionLinenumber: 7030
    functionLinenumberEnd: 7034
    functionName: XXH128_hash_t::XXH128
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_withSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH128(XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t seed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - XXH3_state_t* statePtr
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7049
      start: 7045
    functionDepth: 3
    functionLinenumber: 7045
    functionLinenumberEnd: 7049
    functionName: XXH_errorcode::XXH3_128bits_reset
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 7052
    functionDepth: 3
    functionLinenumber: 7052
    functionLinenumberEnd: 7056
    functionName: XXH_errorcode::XXH3_128bits_reset_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH3_state_t* statePtr
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7063
      start: 7059
    functionDepth: 4
    functionLinenumber: 7059
    functionLinenumberEnd: 7063
    functionName: XXH_errorcode::XXH3_128bits_reset_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t
      seed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7070
      start: 7066
    functionDepth: 3
    functionLinenumber: 7066
    functionLinenumberEnd: 7070
    functionName: XXH_errorcode::XXH3_128bits_reset_withSecretandSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH3_state_t* state
    - input
    - len
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7077
      start: 7073
    functionDepth: 1
    functionLinenumber: 7073
    functionLinenumberEnd: 7077
    functionName: XXH_errorcode::XXH3_128bits_update
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_128bits_update(XXH_NOESCAPE XXH3_state_t* state, XXH_NOESCAPE const void*
      input, size_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7084,1
    - Dst: XXH3_digest_long
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7085,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7086,1
    - Dst: XXH128_hash_t::XXH3_finalizeLong_128b
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7087,1
    - Dst: XXH128_hash_t::XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7091,1
    - Dst: XXH128_hash_t::XXH3_128bits_withSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - XXH3_state_t* state
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7094
      start: 7080
    functionDepth: 7
    functionLinenumber: 7080
    functionLinenumberEnd: 7094
    functionName: XXH128_hash_t::XXH3_128bits_digest
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_withSecret
    - XXH3_digest_long
    - XXH_ASSERT
    - XXH128_hash_t::XXH3_finalizeLong_128b
    - XXH128_hash_t::XXH3_128bits_withSeed
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest (XXH_NOESCAPE const
      XXH3_state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - XXH128_hash_t
    - XXH128_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7106
      start: 7102
    functionDepth: 0
    functionLinenumber: 7102
    functionLinenumberEnd: 7106
    functionName: XXH128_isEqual
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h128_1
    - h128_2
    argTypes:
    - XXH_NOESCAPE*
    - XXH_NOESCAPE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7121
      start: 7113
    functionDepth: 0
    functionLinenumber: 7113
    functionLinenumberEnd: 7121
    functionName: XXH128_cmp
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_cmp(XXH_NOESCAPE const void* h128_1, XXH_NOESCAPE
      const void* h128_2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7129,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7131,1
    - Dst: XXH_swap64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7132,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7134,1
    - Dst: XXH_memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - XXH128_canonical_t* dst
    - hash
    argTypes:
    - XXH_NOESCAPE
    - XXH128_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7136
      start: 7126
    functionDepth: 2
    functionLinenumber: 7126
    functionLinenumberEnd: 7136
    functionName: XXH128_canonicalFromHash
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_STATIC_ASSERT
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH128_canonicalFromHash(XXH_NOESCAPE XXH128_canonical_t*
      dst, XXH128_hash_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7143,1
    - Dst: XXH_readBE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - XXH128_canonical_t* src
    argTypes:
    - XXH_NOESCAPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7146
      start: 7139
    functionDepth: 1
    functionLinenumber: 7139
    functionLinenumberEnd: 7146
    functionName: XXH128_hash_t::XXH128_hashFromCanonical
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH128_hash_t

      XXH128_hashFromCanonical(XXH_NOESCAPE const XXH128_canonical_t* src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7155
      start: 7154
    functionDepth: 0
    functionLinenumber: 7154
    functionLinenumberEnd: 7155
    functionName: XXH_MIN
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_MIN(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_writeLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7158,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7158,1
    - Dst: XXH_writeLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7159,1
    - Dst: XXH_readLE64
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - h128
    argTypes:
    - void*
    - XXH128_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7160
      start: 7156
    functionDepth: 3
    functionLinenumber: 7156
    functionLinenumberEnd: 7160
    functionName: XXH3_combine16
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_writeLE64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_FORCE_INLINE XXH3_combine16(void* dst, XXH128_hash_t h128)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7167,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7168,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7180,1
    - Dst: XXH_MIN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7188,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7189,1
    - Dst: XXH128_canonicalFromHash
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7196,1
    - Dst: XXH128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7196,1
    - Dst: XXH128
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7198,1
    - Dst: XXH3_combine16
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7199,1
    - Dst: XXH3_combine16
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7202,1
    - Dst: XXH128_hashFromCanonical
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - secretBuffer
    - secretSize
    - customSeed
    - customSeedSize
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7205
      start: 7163
    functionDepth: 4
    functionLinenumber: 7163
    functionLinenumberEnd: 7205
    functionName: XXH_errorcode::XXH3_generateSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_canonicalFromHash
    - XXH_ASSERT
    - XXH_MIN
    - memcpy
    - XXH128_hashFromCanonical
    - XXH3_combine16
    - XXH128
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_PUBLIC_API XXH_errorcode

      XXH3_generateSecret(XXH_NOESCAPE void* secretBuffer, size_t secretSize, XXH_NOESCAPE
      const void* customSeed, size_t customSeedSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7211,1
    - Dst: XXH3_initCustomSecret
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7212,1
    - Dst: XXH_ASSERT
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7213,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/xxhash.h:7214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - secretBuffer
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7215
      start: 7208
    functionDepth: 1
    functionLinenumber: 7208
    functionLinenumberEnd: 7215
    functionName: XXH3_generateSecret_fromSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH3_initCustomSecret
    - memcpy
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH3_generateSecret_fromSeed(XXH_NOESCAPE void* secretBuffer,
      XXH64_hash_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: XXH_HAS_INCLUDE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_INCLUDE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: XXH_debugPrint
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_debugPrint(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: XXH_debugPrint
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_debugPrint(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: XXH_HAS_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_ATTRIBUTE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: XXH_HAS_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_HAS_ATTRIBUTE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - intel
    - ','
    - att
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: XXH_I_ATT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_I_ATT(intel, att)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - intel
    - ','
    - att
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: XXH_I_ATT
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_I_ATT(intel, att)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:257,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:267,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - eax
    - ecx
    - abcd
    argTypes:
    - xxh_u32
    - xxh_u32
    - xxh_u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: XXH_cpuid
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached:
    - XXH_I_ATT
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: void XXH_cpuid(xxh_u32 eax, xxh_u32 ecx, xxh_u32* abcd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 322
    functionName: XXH_xgetbv
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: xxh_u64
    signature: xxh_u64 XXH_xgetbv(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:368,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:370,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:372,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:374,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:376,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:378,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:380,1
    - Dst: XXH_I_ATT
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:382,1
    - Dst: XXH_unlikely
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:385,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:386,1
    - Dst: XXH_cpuid
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:392,1
    - Dst: XXH_unlikely
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:396,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:397,1
    - Dst: XXH_cpuid
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:402,1
    - Dst: XXH_unlikely
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:407,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:410,1
    - Dst: XXH_unlikely
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:415,1
    - Dst: XXH_cpuid
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:423,1
    - Dst: XXH_xgetbv
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:425,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:433,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:438,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:444,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:450,1
    - Dst: XXH_debugPrint
      Src: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c:455,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 460
    functionName: XXH_featureTest
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached:
    - XXH_cpuid
    - XXH_xgetbv
    - XXH_debugPrint
    - XXH_unlikely
    - XXH_I_ATT
    linkageType: ''
    returnType: int
    signature: int XXH_featureTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - suffix
    - ','
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 490
    functionName: XXH_DEFINE_DISPATCH_FUNCS
    functionSourceFile: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_DEFINE_DISPATCH_FUNCS(suffix, target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:50,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:52,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: abortSanityTest
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - exit
    linkageType: ''
    returnType: void
    signature: void abortSanityTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - bufferLenInBytes
    argTypes:
    - XSUM_U8*
    - size_t
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: fillTestBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void fillTestBuffer(XSUM_U8* buffer, size_t bufferLenInBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:84,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:85,1
    - Dst: fillTestBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bufferLenInBytes
    argTypes:
    - size_t
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: createSanityBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - fillTestBuffer
    - assert
    - malloc
    linkageType: ''
    returnType: XSUM_U8
    signature: XSUM_U8 * createSanityBuffer(size_t bufferLenInBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:97,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - XSUM_U8*
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: releaseSanityBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: void releaseSanityBuffer(XSUM_U8* buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:110,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:111,1
    - Dst: abortSanityTest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r1
    - r2
    - testName
    - testNb
    - lineNb
    argTypes:
    - XXH32_hash_t
    - XXH32_hash_t
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: checkResult32
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - abortSanityTest
    linkageType: ''
    returnType: void
    signature: void checkResult32(XXH32_hash_t r1, XXH32_hash_t r2, const char* testName,
      size_t testNb, size_t lineNb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:127,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:128,1
    - Dst: abortSanityTest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r1
    - r2
    - testName
    - testNb
    - lineNb
    argTypes:
    - XXH64_hash_t
    - XXH64_hash_t
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: checkResult64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - abortSanityTest
    linkageType: ''
    returnType: void
    signature: void checkResult64(XXH64_hash_t r1, XXH64_hash_t r2, const char* testName,
      size_t testNb, size_t lineNb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:145,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:146,1
    - Dst: abortSanityTest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - r1
    - r2
    - testName
    - testNb
    - lineNb
    argTypes:
    - XXH128_hash_t
    - XXH128_hash_t
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: checkResult128
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - abortSanityTest
    linkageType: ''
    returnType: void
    signature: void checkResult128(XXH128_hash_t r1, XXH128_hash_t r2, const char*
      testName, size_t testNb, size_t lineNb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:160,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:164,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:165,1
    - Dst: abortSanityTest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r1
    - r2
    - testName
    - testNb
    - lineNb
    argTypes:
    - XSUM_U8*
    - XSUM_U8*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: checkResultTestDataSample
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - memcmp
    - abortSanityTest
    linkageType: ''
    returnType: void
    signature: void checkResultTestDataSample(const XSUM_U8* r1, const XSUM_U8* r2,
      const char* testName, size_t testNb, size_t lineNb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_createState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:187,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:192,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:195,1
    - Dst: checkResult32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:197,1
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:197,1
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:199,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:200,1
    - Dst: checkResult32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:201,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:201,1
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:203,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:207,1
    - Dst: checkResult32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:210,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:210,1
    - Dst: XXH32_freeState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - data
    - testData
    - testName
    - testNb
    argTypes:
    - void*
    - XSUM_testdata32_t*
    - char*
    - size_t
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (data != NULL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: testXXH32
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - checkResult32
    - XXH32_reset
    - assert
    - XXH32
    - XXH32_update
    - XXH32_freeState
    - XXH32_digest
    - XXH32_createState
    linkageType: ''
    returnType: void
    signature: "void testXXH32(\n    const void* data,\n    const XSUM_testdata32_t*
      testData,\n    const char* testName,\n    size_t testNb\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_createState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:229,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:234,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:237,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:239,1
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:239,1
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:241,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:242,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:243,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:243,1
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:245,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:249,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:252,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:252,1
    - Dst: XXH64_freeState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - data
    - testData
    - testName
    - testNb
    argTypes:
    - void*
    - XSUM_testdata64_t*
    - char*
    - size_t
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (data != NULL)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 254
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 254
    functionName: testXXH64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XXH64_freeState
    - checkResult64
    - XXH64
    - assert
    - XXH64_digest
    - XXH64_reset
    - XXH64_createState
    - XXH64_update
    linkageType: ''
    returnType: void
    signature: "void testXXH64(\n    const void* data,\n    const XSUM_testdata64_t*
      testData,\n    const char* testName,\n    size_t testNb\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pRandSeed
    argTypes:
    - XSUM_U64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: SANITY_TEST_rand
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 SANITY_TEST_rand(XSUM_U64* pRandSeed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_TEST_rand
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - step
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: SANITY_TEST_computeRandSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - SANITY_TEST_rand
    linkageType: ''
    returnType: XSUM_U64
    signature: XSUM_U64 SANITY_TEST_computeRandSeed(size_t step)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_TEST_rand
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:309,1
    - Dst: update_fn
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - state
    - data
    - len
    - pRandSeed
    - update_fn
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    - XSUM_U64*
    - SANITY_TEST_XXH3_update_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: SANITY_TEST_XXH3_randomUpdate
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - update_fn
    - SANITY_TEST_rand
    linkageType: ''
    returnType: void
    signature: "void SANITY_TEST_XXH3_randomUpdate(\n    XXH3_state_t* state,\n    const
      void* data,\n    size_t len,\n    XSUM_U64* pRandSeed,\n    SANITY_TEST_XXH3_update_t
      update_fn\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:335,1
    - Dst: XXH3_64bits_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:337,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:338,1
    - Dst: XXH3_64bits
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:343,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:344,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:352,1
    - Dst: XXH3_64bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:353,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:354,1
    - Dst: XXH3_64bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:360,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:361,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:365,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:366,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:368,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:369,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:370,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:370,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:373,1
    - Dst: SANITY_TEST_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:374,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:375,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:375,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:379,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:381,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:382,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:382,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:390,1
    - Dst: XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:392,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:393,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:394,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:394,1
    - Dst: XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:401,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:402,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:403,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:403,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 7
    argNames:
    - data
    - secret
    - secretSize
    - testData
    - pRandSeed
    - testName
    - testNb
    argTypes:
    - void*
    - void*
    - size_t
    - XSUM_testdata64_t*
    - XSUM_U64*
    - char*
    - size_t
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (data != NULL)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 408
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 408
    functionName: testXXH3
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_withSecretandSeed
    - XXH3_createState
    - SANITY_TEST_XXH3_randomUpdate
    - XXH3_freeState
    - checkResult64
    - XXH3_64bits_withSeed
    - XXH3_64bits_reset_withSecretandSeed
    - assert
    - XXH3_generateSecret_fromSeed
    - XXH3_64bits_digest
    - XXH3_64bits
    - XXH3_64bits_update
    - XXH3_64bits_reset_withSeed
    linkageType: ''
    returnType: void
    signature: "void testXXH3(\n    const void* data,\n    const void* secret,\n    size_t
      secretSize,\n    const XSUM_testdata64_t* testData,\n    XSUM_U64* pRandSeed,\n
      \   const char* testName,\n    size_t testNb\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:429,1
    - Dst: XXH3_64bits_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:431,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:432,1
    - Dst: XXH3_64bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:438,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:439,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:443,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:444,1
    - Dst: XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:445,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:446,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:447,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:447,1
    - Dst: XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:450,1
    - Dst: SANITY_TEST_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:451,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:452,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:452,1
    - Dst: XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:456,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:458,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:459,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:459,1
    - Dst: XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:466,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:467,1
    - Dst: checkResult64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:468,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:468,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - data
    - secret
    - secretSize
    - testData
    - pRandSeed
    - testName
    - testNb
    argTypes:
    - void*
    - void*
    - size_t
    - XSUM_testdata64_t*
    - XSUM_U64*
    - char*
    - size_t
    assertStmts:
    - condition: (data != NULL)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (state != NULL)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 473
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 473
    functionName: testXXH3_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_reset_withSecret
    - XXH3_64bits_withSecretandSeed
    - XXH3_createState
    - SANITY_TEST_XXH3_randomUpdate
    - checkResult64
    - XXH3_64bits_withSecret
    - XXH3_64bits_reset_withSecretandSeed
    - assert
    - XXH3_64bits_digest
    - XXH3_freeState
    - XXH3_64bits_update
    linkageType: ''
    returnType: void
    signature: "void testXXH3_withSecret(\n    const void* data,\n    const void*
      secret,\n    size_t secretSize,\n    const XSUM_testdata64_t* testData,\n    XSUM_U64*
      pRandSeed,\n    const char* testName,\n    size_t testNb\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:494,1
    - Dst: XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:497,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:498,1
    - Dst: XXH128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:502,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:503,1
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:508,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:509,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:517,1
    - Dst: XXH3_128bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:518,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:519,1
    - Dst: XXH3_128bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:525,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:526,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:530,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:531,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:534,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:535,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:536,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:536,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:539,1
    - Dst: SANITY_TEST_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:540,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:541,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:541,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:545,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:547,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:548,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:548,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:556,1
    - Dst: XXH3_128bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:558,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:559,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:560,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:560,1
    - Dst: XXH3_128bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:567,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:568,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:569,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:569,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 7
    argNames:
    - data
    - secret
    - secretSize
    - testData
    - pRandSeed
    - testName
    - testNb
    argTypes:
    - void*
    - void*
    - size_t
    - XSUM_testdata128_t*
    - XSUM_U64*
    - char*
    - size_t
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 530
        line_start: 530
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (data != NULL)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 574
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 574
    functionName: testXXH128
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XXH3_createState
    - XXH3_128bits_withSecretandSeed
    - XXH3_128bits_reset_withSeed
    - SANITY_TEST_XXH3_randomUpdate
    - XXH3_freeState
    - XXH3_128bits_reset_withSecretandSeed
    - XXH3_128bits_update
    - XXH3_128bits_withSeed
    - assert
    - XXH3_generateSecret_fromSeed
    - checkResult128
    - XXH128
    - XXH3_128bits_digest
    - XXH3_128bits
    linkageType: ''
    returnType: void
    signature: "void testXXH128(\n    const void* data,\n    const void* secret,\n
      \   size_t secretSize,\n    const XSUM_testdata128_t* testData,\n    XSUM_U64*
      pRandSeed,\n    const char* testName,\n    size_t testNb\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:594,1
    - Dst: XXH3_128bits_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:597,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:598,1
    - Dst: XXH3_128bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:604,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:605,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:609,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:610,1
    - Dst: XXH3_128bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:611,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:612,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:613,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:613,1
    - Dst: XXH3_128bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:616,1
    - Dst: SANITY_TEST_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:617,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:618,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:618,1
    - Dst: XXH3_128bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:622,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:624,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:625,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:625,1
    - Dst: XXH3_128bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:632,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:633,1
    - Dst: checkResult128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:634,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:634,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 7
    argNames:
    - data
    - secret
    - secretSize
    - testData
    - pRandSeed
    - testName
    - testNb
    argTypes:
    - void*
    - void*
    - size_t
    - XSUM_testdata128_t*
    - XSUM_U64*
    - char*
    - size_t
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (data != NULL)
      pos:
        line_end: 593
        line_start: 593
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 639
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 639
    functionName: testXXH128_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_withSecret
    - XXH3_createState
    - XXH3_128bits_withSecretandSeed
    - SANITY_TEST_XXH3_randomUpdate
    - XXH3_128bits_reset_withSecret
    - XXH3_freeState
    - XXH3_128bits_reset_withSecretandSeed
    - XXH3_128bits_update
    - assert
    - checkResult128
    - XXH3_128bits_digest
    linkageType: ''
    returnType: void
    signature: "void testXXH128_withSecret(\n    const void* data,\n    const void*
      secret,\n    size_t secretSize,\n    const XSUM_testdata128_t* testData,\n    XSUM_U64*
      pRandSeed,\n    const char* testName,\n    size_t testNb\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:657,1
    - Dst: XXH3_generateSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:658,1
    - Dst: checkResultTestDataSample
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - customSeed
    - testData
    - testName
    - testNb
    argTypes:
    - void*
    - XSUM_testdata_sample_t*
    - char*
    - size_t
    assertStmts:
    - condition: (testData->secretLen <= SECRET_SIZE_MAX)
      pos:
        line_end: 656
        line_start: 656
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 663
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 663
    functionName: testSecretGenerator
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 0
    functionsReached:
    - XXH3_generateSecret
    - assert
    - checkResultTestDataSample
    linkageType: ''
    returnType: void
    signature: "void testSecretGenerator(\n    const void* customSeed,\n    const
      XSUM_testdata_sample_t* testData,\n    const char* testName,\n    size_t testNb\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:671,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:674,1
    - Dst: testXXH32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:683,1
    - Dst: testXXH64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:697,1
    - Dst: SANITY_TEST_computeRandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:709,1
    - Dst: testXXH3
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:713,1
    - Dst: SANITY_TEST_computeRandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:728,1
    - Dst: testXXH3_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:732,1
    - Dst: SANITY_TEST_computeRandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:748,1
    - Dst: testXXH128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:752,1
    - Dst: SANITY_TEST_computeRandSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:767,1
    - Dst: testXXH128_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:771,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:788,1
    - Dst: testSecretGenerator
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:789,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:798,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test.c:800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (sanityBufferSizeInBytes >= 7 + secretSize)
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    - condition: (XSUM_XXH3_generateSecret_testdata[i].seedLen <= SANITY_BUFFER_SIZE)
      pos:
        line_end: 787
        line_start: 787
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    constantsTouched: []
    func_position:
      end: 803
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 803
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test.c
    functionUses: 2
    functionsReached:
    - testSecretGenerator
    - releaseSanityBuffer
    - testXXH128_withSecret
    - XSUM_log
    - testXXH64
    - SANITY_TEST_computeRandSeed
    - createSanityBuffer
    - testXXH128
    - testXXH32
    - assert
    - testXXH3_withSecret
    - testXXH3
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char* argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _wfopen
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:68,1
    - Dst: fopen
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:70,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:72,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:73,1
    - Dst: fopen
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:76,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:78,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:79,1
    - Dst: fopen
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:85,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:89,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:92,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:95,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:96,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:97,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:100,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:101,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:102,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:105,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:106,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:107,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:109,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:111,1
    - Dst: fopen
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:114,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:117,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:130,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:133,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:134,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:135,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:136,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:137,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:138,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:139,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:142,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:143,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:144,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:147,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:148,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:149,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c
    functionUses: 2
    functionsReached:
    - fopen
    - _wfopen
    - fclose
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits_reset
      Src: /src/rtpproxy/external/xxHash/tests/multiInclude.c:66,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/tests/multiInclude.c:69,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/tests/multiInclude.c:71,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/multiInclude.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: hash_advanced
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/multiInclude.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_update
    - XXH3_64bits_reset
    - printf
    - XXH3_64bits_digest
    linkageType: ''
    returnType: void
    signature: void hash_advanced(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_advanced
      Src: /src/rtpproxy/external/xxHash/tests/multiInclude.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/multiInclude.c
    functionUses: 2
    functionsReached:
    - hash_advanced
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - seed
    argTypes:
    - XSUM_U8*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: tvgen_XXH32
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: XSUM_testdata32_t
    signature: XSUM_testdata32_t tvgen_XXH32(const XSUM_U8* buf, size_t len, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - seed
    argTypes:
    - XSUM_U8*
    - size_t
    - XSUM_U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tvgen_XXH64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: XSUM_testdata64_t
    signature: XSUM_testdata64_t tvgen_XXH64(const XSUM_U8* buf, size_t len, XSUM_U64
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - seed
    argTypes:
    - XSUM_U8*
    - size_t
    - XSUM_U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: tvgen_XXH3_64bits_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_withSeed
    linkageType: ''
    returnType: XSUM_testdata64_t
    signature: XSUM_testdata64_t tvgen_XXH3_64bits_withSeed(const XSUM_U8* buf, size_t
      len, XSUM_U64 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - secret
    - secretSize
    argTypes:
    - XSUM_U8*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: tvgen_XXH3_64bits_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_withSecret
    linkageType: ''
    returnType: XSUM_testdata64_t
    signature: XSUM_testdata64_t tvgen_XXH3_64bits_withSecret(const XSUM_U8* buf,
      size_t len, const void* secret, size_t secretSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - seed
    argTypes:
    - XSUM_U8*
    - size_t
    - XSUM_U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: tvgen_XXH3_128bits_withSeed
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_withSeed
    linkageType: ''
    returnType: XSUM_testdata128_t
    signature: XSUM_testdata128_t tvgen_XXH3_128bits_withSeed(const XSUM_U8* buf,
      size_t len, XSUM_U64 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - secret
    - secretSize
    argTypes:
    - XSUM_U8*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: tvgen_XXH3_128bits_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_withSecret
    linkageType: ''
    returnType: XSUM_testdata128_t
    signature: XSUM_testdata128_t tvgen_XXH3_128bits_withSecret(const XSUM_U8* buf,
      size_t len, const void* secret, size_t secretSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_generateSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - secretBuffer
    - secretSize
    - customSeed
    - customSeedSize
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: tvgen_XXH3_generateSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - XXH3_generateSecret
    linkageType: ''
    returnType: XSUM_testdata_sample_t
    signature: "XSUM_testdata_sample_t tvgen_XXH3_generateSecret(\n    void* secretBuffer,\n
      \   size_t secretSize,\n    const void* customSeed,\n    size_t customSeedSize\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - v
    argTypes:
    - FILE*
    - XSUM_testdata32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: fprintf_XSUM_testdata32_t
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fprintf_XSUM_testdata32_t(FILE* fp, XSUM_testdata32_t const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - v
    argTypes:
    - FILE*
    - XSUM_testdata64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: fprintf_XSUM_testdata64_t
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fprintf_XSUM_testdata64_t(FILE* fp, XSUM_testdata64_t const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - v
    argTypes:
    - FILE*
    - XSUM_testdata128_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: fprintf_XSUM_testdata128_t
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fprintf_XSUM_testdata128_t(FILE* fp, XSUM_testdata128_t const
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - v
    argTypes:
    - FILE*
    - XSUM_testdata_sample_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: fprintf_XSUM_testdata_sample_t
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void fprintf_XSUM_testdata_sample_t(FILE* fp, XSUM_testdata_sample_t
      const v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - bufferLenInBytes
    argTypes:
    - XSUM_U8*
    - size_t
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: fillTestBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void fillTestBuffer(XSUM_U8* buffer, size_t bufferLenInBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:183,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:184,1
    - Dst: fillTestBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bufferLenInBytes
    argTypes:
    - size_t
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: createSanityBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 1
    functionsReached:
    - fillTestBuffer
    - assert
    - malloc
    linkageType: ''
    returnType: XSUM_U8
    signature: XSUM_U8 * createSanityBuffer(size_t bufferLenInBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:196,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - XSUM_U8*
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: releaseSanityBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 1
    functionsReached:
    - free
    - assert
    linkageType: ''
    returnType: void
    signature: void releaseSanityBuffer(XSUM_U8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:205,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:207,1
    - Dst: tvgen_XXH32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:214,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:216,1
    - Dst: fprintf_XSUM_testdata32_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:217,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:218,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:222,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: generate_sanity_test_vectors_xxh32
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf_XSUM_testdata32_t
    - fprintf
    - releaseSanityBuffer
    - createSanityBuffer
    - tvgen_XXH32
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh32(FILE* fp, size_t maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:231,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:233,1
    - Dst: tvgen_XXH64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:240,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:242,1
    - Dst: fprintf_XSUM_testdata64_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:243,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:244,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:248,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 250
    functionName: generate_sanity_test_vectors_xxh64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf_XSUM_testdata64_t
    - tvgen_XXH64
    - fprintf
    - releaseSanityBuffer
    - createSanityBuffer
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh64(FILE* fp, size_t maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:257,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:259,1
    - Dst: tvgen_XXH3_64bits_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:266,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:268,1
    - Dst: fprintf_XSUM_testdata64_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:269,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:270,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:274,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: generate_sanity_test_vectors_xxh3
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf_XSUM_testdata64_t
    - fprintf
    - releaseSanityBuffer
    - createSanityBuffer
    - tvgen_XXH3_64bits_withSeed
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh3(FILE* fp, size_t maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:283,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:285,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:289,1
    - Dst: tvgen_XXH3_64bits_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:293,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:295,1
    - Dst: fprintf_XSUM_testdata64_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:296,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:297,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:300,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts:
    - condition: (maxLen >= 7 + secretSize)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: generate_sanity_test_vectors_xxh3_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - tvgen_XXH3_64bits_withSecret
    - fprintf_XSUM_testdata64_t
    - fprintf
    - releaseSanityBuffer
    - createSanityBuffer
    - assert
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh3_withSecret(FILE* fp, size_t
      maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:309,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:311,1
    - Dst: tvgen_XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:318,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:320,1
    - Dst: fprintf_XSUM_testdata128_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:321,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:322,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:325,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 327
    functionName: generate_sanity_test_vectors_xxh128
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf_XSUM_testdata128_t
    - fprintf
    - releaseSanityBuffer
    - tvgen_XXH3_128bits_withSeed
    - createSanityBuffer
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh128(FILE* fp, size_t maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:334,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:336,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:340,1
    - Dst: tvgen_XXH3_128bits_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:344,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:346,1
    - Dst: fprintf_XSUM_testdata128_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:347,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:348,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:351,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts:
    - condition: (maxLen >= 7 + secretSize)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: generate_sanity_test_vectors_xxh128_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf_XSUM_testdata128_t
    - fprintf
    - tvgen_XXH3_128bits_withSecret
    - releaseSanityBuffer
    - createSanityBuffer
    - assert
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh128_withSecret(FILE* fp, size_t
      maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:360,1
    - Dst: createSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:362,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:384,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:385,1
    - Dst: tvgen_XXH3_generateSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:387,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:394,1
    - Dst: fprintf_XSUM_testdata_sample_t
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:395,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:396,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:399,1
    - Dst: releaseSanityBuffer
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - fp
    - maxLen
    argTypes:
    - FILE*
    - size_t
    assertStmts:
    - condition: (secretLen <= SECRET_SIZE_MAX)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    - condition: (seedLen <= maxLen)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    constantsTouched: []
    func_position:
      end: 402
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 402
    functionName: generate_sanity_test_vectors_xxh3_generateSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fprintf
    - releaseSanityBuffer
    - createSanityBuffer
    - assert
    - tvgen_XXH3_generateSecret
    - fprintf_XSUM_testdata_sample_t
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors_xxh3_generateSecret(FILE* fp, size_t
      maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:408,1
    - Dst: fopen
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:409,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:410,1
    - Dst: generate_sanity_test_vectors_xxh32
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:445,1
    - Dst: generate_sanity_test_vectors_xxh64
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:446,1
    - Dst: generate_sanity_test_vectors_xxh3
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:447,1
    - Dst: generate_sanity_test_vectors_xxh3_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:448,1
    - Dst: generate_sanity_test_vectors_xxh128
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:449,1
    - Dst: generate_sanity_test_vectors_xxh128_withSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:450,1
    - Dst: generate_sanity_test_vectors_xxh3_generateSecret
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:451,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - maxLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 453
    functionName: generate_sanity_test_vectors
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 0
    functionsReached:
    - fopen
    - generate_sanity_test_vectors_xxh3_generateSecret
    - fprintf
    - generate_sanity_test_vectors_xxh128_withSecret
    - generate_sanity_test_vectors_xxh64
    - generate_sanity_test_vectors_xxh32
    - generate_sanity_test_vectors_xxh128
    - generate_sanity_test_vectors_xxh3_withSecret
    - fclose
    - generate_sanity_test_vectors_xxh3
    linkageType: ''
    returnType: void
    signature: void generate_sanity_test_vectors(size_t maxLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_sanity_test_vectors
      Src: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    functionUses: 2
    functionsReached:
    - generate_sanity_test_vectors
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_pthread_t*::start_routine
      Src: /src/rtpproxy/external/xxHash/tests/collisions/threading.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: worker
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.c
    functionUses: 0
    functionsReached:
    - ZSTD_pthread_t*::start_routine
    linkageType: ''
    returnType: unsigned
    signature: unsigned worker(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _beginthreadex
      Src: /src/rtpproxy/external/xxHash/tests/collisions/threading.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - thread
    - unused
    - (*start_routine) (void*)
    - arg
    argTypes:
    - ZSTD_pthread_t*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: ZSTD_pthread_create
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.c
    functionUses: 0
    functionsReached:
    - _beginthreadex
    linkageType: ''
    returnType: int
    signature: "int ZSTD_pthread_create(ZSTD_pthread_t* thread, const void* unused,\n
      \           void* (*start_routine) (void*), void* arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/rtpproxy/external/xxHash/tests/collisions/threading.c:70,1
    - Dst: GetLastError
      Src: /src/rtpproxy/external/xxHash/tests/collisions/threading.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - thread
    - value_ptr
    argTypes:
    - ZSTD_pthread_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: ZSTD_pthread_join
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.c
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int ZSTD_pthread_join(ZSTD_pthread_t thread, void **value_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - size
    argTypes:
    - uint64_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: sort64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc
    functionUses: 0
    functionsReached:
    - std::sort
    linkageType: ''
    returnType: void
    signature: void sort64(uint64_t* table, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_cmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc:52,1
    - Dst: std::sort
      Src: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc:55,1
    - Dst: qsort
      Src: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - table
    - size
    argTypes:
    - XXH128_hash_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: sort128
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc
    functionUses: 0
    functionsReached:
    - XXH128_cmp
    - qsort
    - std::sort
    linkageType: ''
    returnType: void
    signature: void sort128(XXH128_hash_t* table, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_cmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - XXH128_hash_t
    - XXH128_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: operator()(XXH128_hash_t a, XXH128_hash_t b) const
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc
    functionUses: 0
    functionsReached:
    - XXH128_cmp
    linkageType: ''
    returnType: bool
    signature: bool operator()(XXH128_hash_t a, XXH128_hash_t b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: aligned_alloc
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligned_alloc(a,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: EXIT
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: hexRaw
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void hexRaw(const void* buffer, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexRaw
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:86,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:88,1
    - Dst: hexRaw
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - table
    - n
    - htype
    argTypes:
    - void*
    - size_t
    - Htype_e
    assertStmts:
    - condition: (htype == ht128)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: printHash
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - hexRaw
    - assert
    linkageType: ''
    returnType: void
    signature: void printHash(const void* table, size_t n, Htype_e htype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h64
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: avalanche64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t avalanche64(uint64_t h64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avalanche64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: randomByte
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - avalanche64
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char randomByte(uint64_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:154,1
    - Dst: randomByte
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sf
    - htotal
    argTypes:
    - sampleFactory*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: init_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - EXIT
    - randomByte
    linkageType: ''
    returnType: void
    signature: void init_sampleFactory(sampleFactory* sf, uint64_t htotal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:166,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:167,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:168,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:169,1
    - Dst: init_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - size
    - htotal
    - seed
    argTypes:
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: create_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - EXIT
    - malloc
    - init_sampleFactory
    linkageType: ''
    returnType: sampleFactory
    signature: 'sampleFactory *

      create_sampleFactory(size_t size, uint64_t htotal, uint64_t seed)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:181,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sf
    argTypes:
    - sampleFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: free_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_sampleFactory(sampleFactory* sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:194,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sf
    argTypes:
    - sampleFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: update_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void update_sampleFactory(sampleFactory* sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:217,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:218,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - n
    - m
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (m > 0)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (m <= n)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: Cnm
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double Cnm(int n, int m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:232,1
    - Dst: Cnm
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - size
    - htotal
    argTypes:
    - size_t
    - uint64_t
    assertStmts:
    - condition: (srcBits < INT_MAX)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: enoughCombos
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    - Cnm
    linkageType: ''
    returnType: int
    signature: int enoughCombos(size_t size, uint64_t htotal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: enoughCombos
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:258,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:259,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:262,1
    - Dst: randomByte
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sf
    - htotal
    argTypes:
    - sampleFactory*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: init_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 1
    functionsReached:
    - randomByte
    - memset
    - EXIT
    - enoughCombos
    linkageType: ''
    returnType: void
    signature: void init_sampleFactory(sampleFactory* sf, uint64_t htotal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:273,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:274,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:275,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:276,1
    - Dst: init_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - size
    - htotal
    - seed
    argTypes:
    - size_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: create_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - EXIT
    - malloc
    - init_sampleFactory
    linkageType: ''
    returnType: sampleFactory
    signature: 'sampleFactory *

      create_sampleFactory(size_t size, uint64_t htotal, uint64_t seed)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:289,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sf
    argTypes:
    - sampleFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: free_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_sampleFactory(sampleFactory* sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - bitID
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: flipbit
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void flipbit(void* buffer, uint64_t bitID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: flipbit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:305,1
    - Dst: flipbit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:309,1
    - Dst: updateBit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:314,1
    - Dst: flipbit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - bitIdx
    - level
    - max
    argTypes:
    - void*
    - size_t*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: updateBit
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 1
    functionsReached:
    - flipbit
    - updateBit
    linkageType: ''
    returnType: int
    signature: int updateBit(void* buffer, size_t* bitIdx, int level, size_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateBit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:322,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:325,1
    - Dst: flipbit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sf
    argTypes:
    - sampleFactory*
    assertStmts:
    - condition: (sf->level < SPARSE_LEVEL_MAX)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: update_sampleFactory
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - flipbit
    - updateBit
    - assert
    linkageType: ''
    returnType: void
    signature: void update_sampleFactory(sampleFactory* sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:344,1
    - Dst: aligned_alloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:347,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:349,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:350,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - bflog
    argTypes:
    - int
    assertStmts:
    - condition: (bflog < 64 && bflog > 1)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: create_Filter
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - memset
    - aligned_alloc
    - exit
    linkageType: ''
    returnType: Filter
    signature: Filter * create_Filter(int bflog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bf
    argTypes:
    - Filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: free_Filter
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_Filter(Filter* bf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bf
    - bflog
    - hash
    argTypes:
    - Filter*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: Filter_insert
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Filter_insert(Filter* bf, int bflog, uint64_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bf
    - bflog
    - hash
    argTypes:
    - Filter*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: Filter_check
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Filter_check(const Filter* bf, int bflog, uint64_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: MIN
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: MAX
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avalanche64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - bf
    - bflog
    - hash
    argTypes:
    - Filter*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 455
    functionName: Filter_insert
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - avalanche64
    linkageType: ''
    returnType: int
    signature: int Filter_insert(Filter* bf, int bflog, uint64_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:460,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:463,1
    - Dst: realloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bf
    - bflog
    argTypes:
    - Filter*
    - int
    assertStmts:
    - condition: (6 < bflog && bflog < 64)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: Filter_reduce
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - realloc
    - assert
    - memcpy
    linkageType: ''
    returnType: Filter
    signature: Filter * Filter_reduce(Filter* bf, int bflog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avalanche64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - bf
    - bflog
    - hash
    argTypes:
    - Filter*
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 496
    functionName: Filter_check
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - avalanche64
    linkageType: ''
    returnType: int
    signature: int Filter_check(const Filter* bf, int bflog, uint64_t hash)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:508,1
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:511,1
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:513,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:514,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:515,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:517,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - v
    - total
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (v <= total)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (total > 0)
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 520
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 520
    functionName: update_indicator
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - fflush
    - assert
    - printf
    - clock
    linkageType: ''
    returnType: void
    signature: void update_indicator(uint64_t v, uint64_t total)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:526,1
    - Dst: sprintf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:533,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:535,1
    - Dst: sprintf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:536,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:538,1
    - Dst: sprintf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - delay_s
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 542
    functionName: displayDelay
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - memset
    - sprintf
    linkageType: ''
    returnType: char
    signature: char * displayDelay(double delay_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - base
    - p
    argTypes:
    - uint64_t
    - int
    assertStmts:
    - condition: (p>=0)
      pos:
        line_end: 549
        line_start: 549
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: power
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: double
    signature: double power(uint64_t base, int p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: power
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nbH
    - nbBits
    argTypes:
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: estimateNbCollisions
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - power
    linkageType: ''
    returnType: double
    signature: double estimateNbCollisions(uint64_t nbH, int nbBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    assertStmts:
    - condition: (v!=0)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: highestBitSet
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int highestBitSet(uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:581,1
    - Dst: estimateNbCollisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - nbBits
    argTypes:
    - int
    assertStmts:
    - condition: (nbBits > 0)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: select_nbh
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - estimateNbCollisions
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t select_nbh(int nbBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: DISPLAY
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISPLAY(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:616,1
    - Dst: XXH128_isEqual
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - hTablePtr
    - index1
    - index2
    - htype
    argTypes:
    - void*
    - size_t
    - size_t
    - Htype_e
    assertStmts:
    - condition: (htype == ht128)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 621
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 621
    functionName: isEqual
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 1
    functionsReached:
    - XXH128_isEqual
    - assert
    linkageType: ''
    returnType: int
    signature: int isEqual(void* hTablePtr, size_t index1, size_t index2, Htype_e
      htype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:630,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:633,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - hTablePtr
    - index1
    - index2
    - htype
    - rShift
    argTypes:
    - void*
    - size_t
    - size_t
    - Htype_e
    - int
    assertStmts:
    - condition: (htype == ht128)
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (rShift >= 64)
      pos:
        line_end: 632
        line_start: 632
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (0 <= rShift && rShift < 64)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 638
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 638
    functionName: isHighEqual
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int isHighEqual(void* hTablePtr, size_t index1, size_t index2, Htype_e
      htype, int rShift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - hTablePtr
    - h
    - htype
    - index
    argTypes:
    - void*
    - UniHash
    - Htype_e
    - size_t
    assertStmts:
    - condition: (htype == ht128)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: addHashCandidate
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void addHashCandidate(void* hTablePtr, UniHash h, Htype_e htype, size_t
      index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - htype
    argTypes:
    - Htype_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 658
    functionName: getNbBits_fromHtype
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - EXIT
    linkageType: ''
    returnType: int
    signature: int getNbBits_fromHtype(Htype_e htype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - nbBits
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 667
    functionName: getHtype_fromHbits
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - EXIT
    linkageType: ''
    returnType: Htype_e
    signature: Htype_e getHtype_fromHbits(int nbBits)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: getHtype_fromHbits
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:679,1
    - Dst: create_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:682,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:683,1
    - Dst: select_nbh
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:688,1
    - Dst: highestBitSet
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:689,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:699,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:700,1
    - Dst: create_Filter
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:701,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:702,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:704,1
    - Dst: update_indicator
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:710,1
    - Dst: update_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:711,1
    - Dst: hfunction
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:713,1
    - Dst: Filter_insert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:716,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:720,1
    - Dst: free_Filter
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:722,1
    - Dst: free_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:723,1
    - Dst: difftime
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:727,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:727,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:728,1
    - Dst: displayDelay
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:729,1
    - Dst: Filter_reduce
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:732,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:733,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:738,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:741,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:742,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:745,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:746,1
    - Dst: init_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:747,1
    - Dst: update_indicator
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:750,1
    - Dst: update_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:751,1
    - Dst: hfunction
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:753,1
    - Dst: Filter_check
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:757,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:759,1
    - Dst: addHashCandidate
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:760,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:763,1
    - Dst: addHashCandidate
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:764,1
    - Dst: realloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:770,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:771,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:772,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:775,1
    - Dst: difftime
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:780,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:780,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:781,1
    - Dst: displayDelay
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:782,1
    - Dst: free_Filter
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:783,1
    - Dst: free_sampleFactory
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:784,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:788,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:789,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:790,1
    - Dst: sort64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:796,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:798,1
    - Dst: sort128
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:799,1
    - Dst: difftime
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:801,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:801,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:802,1
    - Dst: displayDelay
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:802,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:805,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:806,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:807,1
    - Dst: isEqual
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:810,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:812,1
    - Dst: printHash
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:813,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:814,1
    - Dst: printHash
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:815,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:816,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:823,1
    - Dst: getNbBits_fromHtype
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:824,1
    - Dst: estimateNbCollisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:829,1
    - Dst: isHighEqual
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:835,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:839,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:840,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:846,1
    - Dst: difftime
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:849,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:849,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:850,1
    - Dst: displayDelay
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:850,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:853,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:857,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 1
    argNames:
    - param
    argTypes:
    - searchCollisions_parameters
    assertStmts:
    - condition: (htype == ht128)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (checkPtr == hashCandidates)
      pos:
        line_end: 771
        line_start: 771
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (tableSize > maxNbH)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (nbCandidates < maxNbH)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (checkPtr != NULL)
      pos:
        line_end: 770
        line_start: 770
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (nbCandidates < maxNbH)
      pos:
        line_end: 758
        line_start: 758
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 862
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 862
    functionName: search_collisions
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - difftime
    - update_sampleFactory
    - assert
    - realloc
    - isHighEqual
    - fflush
    - create_sampleFactory
    - sort128
    - Filter_reduce
    - create_Filter
    - printf
    - EXIT
    - update_indicator
    - free
    - sort64
    - hfunction
    - time
    - free_sampleFactory
    - displayDelay
    - addHashCandidate
    - DISPLAY
    - getNbBits_fromHtype
    - free_Filter
    - highestBitSet
    - Filter_insert
    - select_nbh
    - init_sampleFactory
    - printHash
    - isEqual
    - estimateNbCollisions
    - malloc
    - Filter_check
    - getHtype_fromHbits
    linkageType: ''
    returnType: size_t
    signature: "size_t search_collisions(\n    searchCollisions_parameters param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrusage
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - children
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 875
    functionName: getProcessMemUsage
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - getrusage
    linkageType: ''
    returnType: size_t
    signature: size_t getProcessMemUsage(int children)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ignore
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 878
    functionName: getProcessMemUsage
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getProcessMemUsage(int ignore)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:888,1
    - Dst: select_nbh
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:891,1
    - Dst: estimateNbCollisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:892,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:895,1
    - Dst: search_collisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:898,1
    - Dst: difftime
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:901,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:901,1
    - Dst: getProcessMemUsage
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:902,1
    - Dst: getProcessMemUsage
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:903,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:904,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:905,1
    - Dst: displayDelay
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:909,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:911,1
    - Dst: DISPLAY
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - searchCollisions_parameters
    assertStmts:
    - condition: (0 <= hashID && hashID < HASH_FN_TOTAL)
      pos:
        line_end: 887
        line_start: 887
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 915
      start: 881
    functionDepth: 5
    functionLinenumber: 881
    functionLinenumberEnd: 915
    functionName: time_collisions
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - select_nbh
    - difftime
    - getProcessMemUsage
    - time
    - estimateNbCollisions
    - displayDelay
    - search_collisions
    - assert
    - DISPLAY
    linkageType: ''
    returnType: void
    signature: void time_collisions(searchCollisions_parameters param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: search_collisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - payload
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 5
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: MT_searchCollisions
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - search_collisions
    linkageType: ''
    returnType: void
    signature: void MT_searchCollisions(void* payload)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:935,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:942,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:945,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:948,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - stringPtr
    argTypes:
    - char**
    assertStmts:
    - condition: (result < max)
      pos:
        line_end: 934
        line_start: 934
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (result < maxK)
      pos:
        line_end: 941
        line_start: 941
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (result < maxK)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (result < maxK)
      pos:
        line_end: 944
        line_start: 944
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 957
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 957
    functionName: readU64FromChar
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t readU64FromChar(const char** stringPtr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:968,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:968,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:968,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:969,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stringPtr
    - longCommand
    argTypes:
    - char**
    - char*
    assertStmts:
    - condition: (longCommand)
      pos:
        line_end: 967
        line_start: 967
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (stringPtr)
      pos:
        line_end: 967
        line_start: 967
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (*stringPtr)
      pos:
        line_end: 967
        line_start: 967
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 973
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 973
    functionName: longCommandWArg
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - strncmp
    linkageType: ''
    returnType: int
    signature: int longCommandWArg(const char** stringPtr, const char* longCommand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:988,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:989,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:990,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:992,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:994,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:995,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:997,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:998,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:999,1
    - Dst: select_nbh
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:999,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1000,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1001,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - exeName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1003
    functionName: help
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - select_nbh
    - printf
    linkageType: ''
    returnType: void
    signature: void help(const char* exeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1007,1
    - Dst: help
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exeName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: bad_argument
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 0
    functionsReached:
    - help
    - printf
    linkageType: ''
    returnType: int
    signature: int bad_argument(const char* exeName)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1015,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1017,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1031,1
    - Dst: help
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1031,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1032,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1032,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1034,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1035,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1037,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1037,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1038,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1038,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1039,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1039,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1039,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1040,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1040,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1040,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1041,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1041,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1042,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1042,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1043,1
    - Dst: readU64FromChar
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1043,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1048,1
    - Dst: bad_argument
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1050,1
    - Dst: select_nbh
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1056,1
    - Dst: estimateNbCollisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1057,1
    - Dst: highestBitSet
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1058,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1062,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1065,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1066,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1067,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1069,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1072,1
    - Dst: time_collisions
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1087,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1092,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1094,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1096,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1097,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1100,1
    - Dst: POOL_create
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1101,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1102,1
    - Dst: calloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1103,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1104,1
    - Dst: calloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1105,1
    - Dst: EXIT
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1106,1
    - Dst: POOL_add
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1119,1
    - Dst: POOL_free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1121,1
    - Dst: difftime
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1129,1
    - Dst: time
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1129,1
    - Dst: getProcessMemUsage
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1130,1
    - Dst: getProcessMemUsage
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1131,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1132,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1133,1
    - Dst: displayDelay
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1137,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1139,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1142,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1145,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/main.c:1146,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (argc > 0)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (bflog < 64)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - condition: (bflog < 64)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    constantsTouched: []
    func_position:
      end: 1150
      start: 1013
    functionDepth: 6
    functionLinenumber: 1013
    functionLinenumberEnd: 1150
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    functionUses: 2
    functionsReached:
    - difftime
    - getProcessMemUsage
    - assert
    - bad_argument
    - readU64FromChar
    - POOL_free
    - printf
    - EXIT
    - free
    - time
    - displayDelay
    - longCommandWArg
    - time_collisions
    - strcmp
    - POOL_add
    - highestBitSet
    - help
    - POOL_create
    - select_nbh
    - estimateNbCollisions
    - calloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char** argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_pthread_mutex_lock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:84,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:92,1
    - Dst: ZSTD_pthread_cond_wait
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:95,1
    - Dst: ZSTD_pthread_cond_signal
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:103,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:104,1
    - Dst: POOL_job::function
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:106,1
    - Dst: ZSTD_pthread_mutex_lock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:109,1
    - Dst: ZSTD_pthread_cond_signal
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:112,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:114,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    constantsTouched: []
    func_position:
      end: 118
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 118
    functionName: POOL_thread
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - POOL_job::function
    - ZSTD_pthread_cond_signal
    - ZSTD_pthread_cond_wait
    - ZSTD_pthread_mutex_lock
    - assert
    - ZSTD_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void * POOL_thread(void* opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:126,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:133,1
    - Dst: ZSTD_pthread_mutex_init
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:138,1
    - Dst: ZSTD_pthread_cond_init
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:139,1
    - Dst: ZSTD_pthread_cond_init
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:140,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:143,1
    - Dst: POOL_free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:146,1
    - Dst: ZSTD_pthread_create
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:150,1
    - Dst: POOL_free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - numThreads
    - queueSize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 159
    functionName: POOL_create
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 1
    functionsReached:
    - ZSTD_pthread_cond_init
    - POOL_free
    - malloc
    - ZSTD_pthread_mutex_init
    - ZSTD_pthread_create
    - calloc
    linkageType: ''
    returnType: POOL_ctx
    signature: POOL_ctx * POOL_create(size_t numThreads, size_t queueSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_pthread_mutex_lock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:166,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:168,1
    - Dst: ZSTD_pthread_cond_broadcast
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:171,1
    - Dst: ZSTD_pthread_cond_broadcast
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:172,1
    - Dst: ZSTD_pthread_join
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - POOL_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: POOL_join
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - ZSTD_pthread_mutex_lock
    - ZSTD_pthread_join
    - ZSTD_pthread_cond_broadcast
    - ZSTD_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void POOL_join(POOL_ctx* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POOL_join
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:183,1
    - Dst: ZSTD_pthread_mutex_destroy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:184,1
    - Dst: ZSTD_pthread_cond_destroy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:185,1
    - Dst: ZSTD_pthread_cond_destroy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:186,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:187,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:188,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - POOL_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: POOL_free
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 2
    functionsReached:
    - free
    - ZSTD_pthread_mutex_destroy
    - ZSTD_pthread_cond_destroy
    - POOL_join
    linkageType: ''
    returnType: void
    signature: void POOL_free(POOL_ctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - POOL_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: POOL_sizeof
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t POOL_sizeof(POOL_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:211,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:214,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:215,1
    - Dst: ZSTD_pthread_create
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ctx
    - numThreads
    argTypes:
    - POOL_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 229
    functionName: POOL_resize_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - memcpy
    - ZSTD_pthread_create
    linkageType: ''
    returnType: int
    signature: int POOL_resize_internal(POOL_ctx* ctx, size_t numThreads)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_pthread_mutex_lock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:236,1
    - Dst: POOL_resize_internal
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:237,1
    - Dst: ZSTD_pthread_cond_broadcast
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:238,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - numThreads
    argTypes:
    - POOL_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: POOL_resize
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - ZSTD_pthread_mutex_lock
    - ZSTD_pthread_cond_broadcast
    - POOL_resize_internal
    - ZSTD_pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int POOL_resize(POOL_ctx* ctx, size_t numThreads)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - POOL_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: isQueueFull
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isQueueFull(POOL_ctx const* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:262,1
    - Dst: ZSTD_pthread_cond_signal
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - function
    - opaque
    argTypes:
    - POOL_ctx*
    - POOL_function
    - void*
    assertStmts:
    - condition: (ctx != NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: POOL_add_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - ZSTD_pthread_cond_signal
    - assert
    linkageType: ''
    returnType: void
    signature: void POOL_add_internal(POOL_ctx* ctx, POOL_function function, void
      *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:273,1
    - Dst: ZSTD_pthread_mutex_lock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:274,1
    - Dst: isQueueFull
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:276,1
    - Dst: ZSTD_pthread_cond_wait
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:277,1
    - Dst: POOL_add_internal
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:279,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - function
    - opaque
    argTypes:
    - POOL_ctx*
    - POOL_function
    - void*
    assertStmts:
    - condition: (ctx != NULL)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: POOL_add
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 1
    functionsReached:
    - ZSTD_pthread_cond_wait
    - ZSTD_pthread_mutex_lock
    - POOL_add_internal
    - assert
    - isQueueFull
    - ZSTD_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void POOL_add(POOL_ctx* ctx, POOL_function function, void* opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:286,1
    - Dst: ZSTD_pthread_mutex_lock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:287,1
    - Dst: isQueueFull
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:288,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:289,1
    - Dst: POOL_add_internal
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:292,1
    - Dst: ZSTD_pthread_mutex_unlock
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - function
    - opaque
    argTypes:
    - POOL_ctx*
    - POOL_function
    - void*
    assertStmts:
    - condition: (ctx != NULL)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: POOL_tryAdd
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - ZSTD_pthread_mutex_lock
    - POOL_add_internal
    - assert
    - isQueueFull
    - ZSTD_pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int POOL_tryAdd(POOL_ctx* ctx, POOL_function function, void* opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - numThreads
    - queueSize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: POOL_create
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: POOL_ctx
    signature: POOL_ctx * POOL_create(size_t numThreads, size_t queueSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - POOL_ctx*
    assertStmts:
    - condition: (!ctx || ctx == &g_ctx)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: POOL_free
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void POOL_free(POOL_ctx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - numThreads
    argTypes:
    - POOL_ctx*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: POOL_resize
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int POOL_resize(POOL_ctx* ctx, size_t numThreads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - function
    - opaque
    argTypes:
    - POOL_ctx*
    - POOL_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: POOL_add
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 1
    functionsReached:
    - function
    linkageType: ''
    returnType: void
    signature: void POOL_add(POOL_ctx* ctx, POOL_function function, void* opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: function
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - function
    - opaque
    argTypes:
    - POOL_ctx*
    - POOL_function
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: POOL_tryAdd
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - function
    linkageType: ''
    returnType: int
    signature: int POOL_tryAdd(POOL_ctx* ctx, POOL_function function, void* opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/collisions/pool.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - POOL_ctx*
    assertStmts:
    - condition: (ctx == &g_ctx)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: POOL_sizeof
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t POOL_sizeof(POOL_ctx* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ZSTD_pthread_mutex_init
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_init(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ZSTD_pthread_mutex_destroy
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: ZSTD_pthread_mutex_lock
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_lock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ZSTD_pthread_mutex_unlock
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_unlock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ZSTD_pthread_cond_init
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_init(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: ZSTD_pthread_cond_destroy
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: ZSTD_pthread_cond_wait
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_wait(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ZSTD_pthread_cond_signal
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_signal(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: ZSTD_pthread_cond_broadcast
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_broadcast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ZSTD_pthread_mutex_init
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_init(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: ZSTD_pthread_mutex_destroy
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ZSTD_pthread_mutex_lock
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_lock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: ZSTD_pthread_mutex_unlock
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_unlock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: ZSTD_pthread_cond_init
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_init(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: ZSTD_pthread_cond_destroy
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: ZSTD_pthread_cond_wait
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_wait(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: ZSTD_pthread_cond_signal
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_signal(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ZSTD_pthread_cond_broadcast
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_broadcast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: ZSTD_pthread_create
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_create(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: ZSTD_pthread_join
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_join(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: ZSTD_pthread_mutex_init
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_init(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: ZSTD_pthread_mutex_destroy
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: ZSTD_pthread_mutex_lock
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_lock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: ZSTD_pthread_mutex_unlock
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_mutex_unlock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ZSTD_pthread_cond_init
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_init(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: ZSTD_pthread_cond_destroy
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_destroy(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ZSTD_pthread_cond_wait
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_wait(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ZSTD_pthread_cond_signal
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_signal(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: ZSTD_pthread_cond_broadcast
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSTD_pthread_cond_broadcast(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v32
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: uniHash32
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UniHash
    signature: UniHash uniHash32(uint64_t v32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v64
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: uniHash64
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UniHash
    signature: UniHash uniHash64(uint64_t v64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v128
    argTypes:
    - XXH128_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: uniHash128
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UniHash
    signature: UniHash uniHash128(XXH128_hash_t v128)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:66,1
    - Dst: XXH3_64bits
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: XXH3_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - uniHash64
    - XXH3_64bits
    linkageType: ''
    returnType: UniHash
    signature: UniHash XXH3_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash128
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:71,1
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: XXH128_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - uniHash128
    - XXH3_128bits
    linkageType: ''
    returnType: UniHash
    signature: UniHash XXH128_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:76,1
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: XXH128l_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - uniHash64
    - XXH3_128bits
    linkageType: ''
    returnType: UniHash
    signature: UniHash XXH128l_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:81,1
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: XXH128h_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - uniHash64
    - XXH3_128bits
    linkageType: ''
    returnType: UniHash
    signature: UniHash XXH128h_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:86,1
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: XXH64_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - XXH64
    - uniHash64
    linkageType: ''
    returnType: UniHash
    signature: UniHash XXH64_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash32
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:91,1
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: XXH32_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - XXH32
    - uniHash32
    linkageType: ''
    returnType: UniHash
    signature: UniHash XXH32_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uniHash32
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:100,1
    - Dst: badsum32
      Src: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: badsum32_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    functionUses: 0
    functionsReached:
    - badsum32
    - uniHash32
    linkageType: ''
    returnType: UniHash
    signature: UniHash badsum32_wrapper (const void* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: badsum32
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/collisions/allcodecs/dummy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned badsum32(const void* input, size_t len, unsigned seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: DISPLAY
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISPLAY(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DEBUGOUTPUT
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGOUTPUT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - retValue
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: RETURN_QUIET_ERROR
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_QUIET_ERROR(retValue, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outcome
    argTypes:
    - BMK_runOutcome_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: BMK_isSuccessful_runOutcome
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BMK_isSuccessful_runOutcome(BMK_runOutcome_t outcome)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outcome
    argTypes:
    - BMK_runOutcome_t
    assertStmts:
    - condition: (outcome.error_tag_never_ever_use_directly == 0)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: BMK_extract_runTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: BMK_runTime_t
    signature: BMK_runTime_t BMK_extract_runTime(BMK_runOutcome_t outcome)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - outcome
    argTypes:
    - BMK_runOutcome_t
    assertStmts:
    - condition: (outcome.error_tag_never_ever_use_directly != 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: BMK_extract_errorResult
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t BMK_extract_errorResult(BMK_runOutcome_t outcome)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - errorResult
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: BMK_runOutcome_error
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: BMK_runOutcome_t
    signature: BMK_runOutcome_t BMK_runOutcome_error(size_t errorResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - runTime
    argTypes:
    - BMK_runTime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: BMK_setValid_runTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: BMK_runOutcome_t
    signature: BMK_runOutcome_t BMK_setValid_runTime(BMK_runTime_t runTime)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:113,1
    - Dst: UTIL_getTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:117,1
    - Dst: BMK_benchParams_t::initFn
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:121,1
    - Dst: BMK_benchParams_t::benchFn
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:124,1
    - Dst: BMK_benchParams_t::errorFn
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:129,1
    - Dst: RETURN_QUIET_ERROR
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:130,1
    - Dst: BMK_runOutcome_error
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:130,1
    - Dst: UTIL_clockSpanNano
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:138,1
    - Dst: BMK_setValid_runTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - p
    - nbLoops
    argTypes:
    - BMK_benchParams_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: BMK_benchFunction
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - BMK_setValid_runTime
    - BMK_benchParams_t::benchFn
    - RETURN_QUIET_ERROR
    - BMK_runOutcome_error
    - BMK_benchParams_t::initFn
    - UTIL_clockSpanNano
    - UTIL_getTime
    - memset
    - BMK_benchParams_t::errorFn
    linkageType: ''
    returnType: BMK_runOutcome_t
    signature: "BMK_runOutcome_t BMK_benchFunction(BMK_benchParams_t p,\n                                   unsigned
      nbLoops)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:160,1
    - Dst: BMK_resetTimedFnState
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - total_ms
    - run_ms
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: BMK_createTimedFnState
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - malloc
    - BMK_resetTimedFnState
    linkageType: ''
    returnType: BMK_timedFnState_t
    signature: BMK_timedFnState_t * BMK_createTimedFnState(unsigned total_ms, unsigned
      run_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - BMK_timedFnState_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: BMK_freeTimedFnState
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void BMK_freeTimedFnState(BMK_timedFnState_t* state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BMK_resetTimedFnState
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - buffer
    - size
    - total_ms
    - run_ms
    argTypes:
    - void*
    - size_t
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: BMK_initStatic_timedFnState
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - BMK_resetTimedFnState
    linkageType: ''
    returnType: BMK_timedFnState_t
    signature: 'BMK_timedFnState_t *

      BMK_initStatic_timedFnState(void* buffer, size_t size, unsigned total_ms, unsigned
      run_ms)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UTIL_getTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - timedFnState
    - total_ms
    - run_ms
    argTypes:
    - BMK_timedFnState_t*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: BMK_resetTimedFnState
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 2
    functionsReached:
    - UTIL_getTime
    linkageType: ''
    returnType: void
    signature: void BMK_resetTimedFnState(BMK_timedFnState_t* timedFnState, unsigned
      total_ms, unsigned run_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timedFnState
    argTypes:
    - BMK_timedFnState_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: BMK_isCompleted_TimedFn
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BMK_isCompleted_TimedFn(const BMK_timedFnState_t* timedFnState)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: MIN
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BMK_benchFunction
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:217,1
    - Dst: BMK_isSuccessful_runOutcome
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:219,1
    - Dst: BMK_extract_runTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:223,1
    - Dst: MIN
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:230,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:235,1
    - Dst: BMK_setValid_runTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - cont
    - p
    argTypes:
    - BMK_timedFnState_t*
    - BMK_benchParams_t
    assertStmts:
    - condition: (cont->nbLoops < ((unsigned)-1) / multiplier)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    constantsTouched: []
    func_position:
      end: 253
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 253
    functionName: BMK_benchTimedFn
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    functionUses: 0
    functionsReached:
    - BMK_setValid_runTime
    - BMK_extract_runTime
    - BMK_isSuccessful_runOutcome
    - assert
    - BMK_benchFunction
    - MIN
    linkageType: ''
    returnType: BMK_runOutcome_t
    signature: "BMK_runOutcome_t BMK_benchTimedFn(BMK_timedFnState_t* cont,\n                                  BMK_benchParams_t
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:45,1
    - Dst: bench_hash
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:48,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:51,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:51,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hashDesc
    - minlog
    - maxlog
    argTypes:
    - Bench_Entry
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: bench_oneHash_largeInput
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - bench_hash
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_oneHash_largeInput(Bench_Entry hashDesc, int minlog, int
      maxlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:58,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:59,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:60,1
    - Dst: bench_oneHash_largeInput
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - hashDescTable
    - nbHashes
    - minlog
    - maxlog
    argTypes:
    - Bench_Entry*
    - int
    - int
    - int
    assertStmts:
    - condition: (maxlog <  31)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    - condition: (minlog >=  0)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: bench_largeInput
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - bench_oneHash_largeInput
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_largeInput(Bench_Entry const* hashDescTable, int nbHashes,
      int minlog, int maxlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:75,1
    - Dst: bench_hash
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:77,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:80,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:80,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hashDesc
    - sizeMin
    - sizeMax
    argTypes:
    - Bench_Entry
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: bench_throughput_oneHash_smallInputs
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - bench_hash
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_throughput_oneHash_smallInputs(Bench_Entry hashDesc, size_t
      sizeMin, size_t sizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:87,1
    - Dst: bench_throughput_oneHash_smallInputs
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hashDescTable
    - nbHashes
    - sizeMin
    - sizeMax
    argTypes:
    - Bench_Entry*
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: bench_throughput_smallInputs
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - bench_throughput_oneHash_smallInputs
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_throughput_smallInputs(Bench_Entry const* hashDescTable,
      int nbHashes, size_t sizeMin, size_t sizeMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:99,1
    - Dst: bench_hash
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:101,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:104,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:104,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - hashDesc
    - size_min
    - size_max
    argTypes:
    - Bench_Entry
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: bench_latency_oneHash_smallInputs
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - bench_hash
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_latency_oneHash_smallInputs(Bench_Entry hashDesc, size_t
      size_min, size_t size_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:111,1
    - Dst: bench_latency_oneHash_smallInputs
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hashDescTable
    - nbHashes
    - size_min
    - size_max
    argTypes:
    - Bench_Entry*
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: bench_latency_smallInputs
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - printf
    - bench_latency_oneHash_smallInputs
    linkageType: ''
    returnType: void
    signature: void bench_latency_smallInputs(Bench_Entry const* hashDescTable, int
      nbHashes, size_t size_min, size_t size_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:121,1
    - Dst: srand
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:123,1
    - Dst: bench_hash
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:124,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:127,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:127,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hashDesc
    - size_min
    - size_max
    argTypes:
    - Bench_Entry
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: bench_randomInputLength_withOneHash
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - srand
    - bench_hash
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_randomInputLength_withOneHash(Bench_Entry hashDesc, size_t
      size_min, size_t size_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:134,1
    - Dst: bench_randomInputLength_withOneHash
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hashDescTable
    - nbHashes
    - size_min
    - size_max
    argTypes:
    - Bench_Entry*
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: bench_throughput_randomInputLength
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - printf
    - bench_randomInputLength_withOneHash
    linkageType: ''
    returnType: void
    signature: void bench_throughput_randomInputLength(Bench_Entry const* hashDescTable,
      int nbHashes, size_t size_min, size_t size_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:144,1
    - Dst: srand
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:146,1
    - Dst: bench_hash
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:147,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:150,1
    - Dst: fflush
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:150,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - hashDesc
    - size_min
    - size_max
    argTypes:
    - Bench_Entry
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: bench_latency_oneHash_randomInputLength
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - srand
    - bench_hash
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_latency_oneHash_randomInputLength(Bench_Entry hashDesc,
      size_t size_min, size_t size_max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:157,1
    - Dst: bench_latency_oneHash_randomInputLength
      Src: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - hashDescTable
    - nbHashes
    - size_min
    - size_max
    argTypes:
    - Bench_Entry*
    - int
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: bench_latency_randomInputLength
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
    functionUses: 0
    functionsReached:
    - bench_latency_oneHash_randomInputLength
    - printf
    linkageType: ''
    returnType: void
    signature: void bench_latency_randomInputLength(Bench_Entry const* hashDescTable,
      int nbHashes, size_t size_min, size_t size_max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:55,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:62,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - stringPtr
    argTypes:
    - char**
    assertStmts:
    - condition: (result < max)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    - condition: (result < maxK)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    - condition: (result < maxK)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: readIntFromChar
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int readIntFromChar(const char** stringPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:83,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:84,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:85,1
    - Dst: strncmp
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - string
    - longCommand
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (string)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    - condition: (longCommand)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: isCommand
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - strncmp
    linkageType: ''
    returnType: int
    signature: int isCommand(const char* string, const char* longCommand)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:98,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:99,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:100,1
    - Dst: isCommand
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stringPtr
    - longCommand
    argTypes:
    - char**
    - char*
    assertStmts:
    - condition: (stringPtr)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    - condition: (longCommand)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: longCommandWArg
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 1
    functionsReached:
    - strlen
    - assert
    - isCommand
    linkageType: ''
    returnType: int
    signature: int longCommandWArg(const char** stringPtr, const char* longCommand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:126,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:128,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: display_hash_names
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int display_hash_names(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:141,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:143,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:144,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:144,1
    - Dst: isCommand
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - hname
    argTypes:
    - char*
    assertStmts:
    - condition: (hname)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    - condition: (hashCandidates[id].name)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: hashID
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - isCommand
    linkageType: ''
    returnType: int
    signature: int hashID(const char* hname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:152,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:153,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:154,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:155,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:156,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:157,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:158,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:159,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:160,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - exename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: help
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int help(const char* exename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:167,1
    - Dst: help
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: badusage
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 0
    functionsReached:
    - help
    - printf
    linkageType: ''
    returnType: int
    signature: int badusage(const char* exename)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isCommand
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:185,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:185,1
    - Dst: help
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:185,1
    - Dst: isCommand
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:186,1
    - Dst: display_hash_names
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:186,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:187,1
    - Dst: readIntFromChar
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:187,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:188,1
    - Dst: readIntFromChar
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:188,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:189,1
    - Dst: readIntFromChar
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:189,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:190,1
    - Dst: readIntFromChar
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:190,1
    - Dst: longCommandWArg
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:191,1
    - Dst: readIntFromChar
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:191,1
    - Dst: hashID
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:193,1
    - Dst: badusage
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:198,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:204,1
    - Dst: printf
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:208,1
    - Dst: bench_largeInput
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:210,1
    - Dst: bench_throughput_smallInputs
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:213,1
    - Dst: bench_throughput_randomInputLength
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:214,1
    - Dst: bench_latency_smallInputs
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:215,1
    - Dst: bench_latency_randomInputLength
      Src: /src/rtpproxy/external/xxHash/tests/bench/main.c:216,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argc >= 1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
    constantsTouched: []
    func_position:
      end: 220
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/main.c
    functionUses: 2
    functionsReached:
    - bench_largeInput
    - bench_latency_randomInputLength
    - bench_latency_smallInputs
    - hashID
    - display_hash_names
    - longCommandWArg
    - isCommand
    - bench_throughput_randomInputLength
    - assert
    - badusage
    - printf
    - readIntFromChar
    - help
    - bench_throughput_smallInputs
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: UTIL_getTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 2
    functionsReached:
    - QueryPerformanceCounter
    linkageType: ''
    returnType: UTIL_time_t
    signature: UTIL_time_t UTIL_getTime(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:33,1
    - Dst: perror
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:34,1
    - Dst: abort
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - clockStart
    - clockEnd
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: UTIL_getSpanTimeMicro
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - abort
    - perror
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:47,1
    - Dst: perror
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:48,1
    - Dst: abort
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - clockStart
    - clockEnd
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: UTIL_getSpanTimeNano
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - abort
    - perror
    - QueryPerformanceFrequency
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_absolute_time
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: UTIL_getTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 2
    functionsReached:
    - mach_absolute_time
    linkageType: ''
    returnType: UTIL_time_t
    signature: UTIL_time_t UTIL_getTime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - clockStart
    - clockEnd
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: UTIL_getSpanTimeMicro
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - mach_timebase_info
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mach_timebase_info
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - clockStart
    - clockEnd
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: UTIL_getSpanTimeNano
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - mach_timebase_info
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: timespec_get
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:97,1
    - Dst: perror
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:98,1
    - Dst: abort
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: UTIL_getTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 2
    functionsReached:
    - timespec_get
    - abort
    - perror
    linkageType: ''
    returnType: UTIL_time_t
    signature: UTIL_time_t UTIL_getTime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: UTIL_getSpanTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UTIL_time_t
    signature: UTIL_time_t UTIL_getSpanTime(UTIL_time_t begin, UTIL_time_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTIL_getSpanTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: UTIL_getSpanTimeMicro
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - UTIL_getSpanTime
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeMicro(UTIL_time_t begin, UTIL_time_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTIL_getSpanTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: UTIL_getSpanTimeNano
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - UTIL_getSpanTime
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeNano(UTIL_time_t begin, UTIL_time_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: UTIL_getTime
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 2
    functionsReached:
    - clock
    linkageType: ''
    returnType: UTIL_time_t
    signature: UTIL_time_t UTIL_getTime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clockStart
    - clockEnd
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: UTIL_getSpanTimeMicro
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clockStart
    - clockEnd
    argTypes:
    - UTIL_time_t
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: UTIL_getSpanTimeNano
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTIL_getTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:150,1
    - Dst: UTIL_getSpanTimeMicro
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clockStart
    argTypes:
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: UTIL_clockSpanMicro
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - UTIL_getSpanTimeMicro
    - UTIL_getTime
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_clockSpanMicro(UTIL_time_t clockStart )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTIL_getTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:157,1
    - Dst: UTIL_getSpanTimeNano
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clockStart
    argTypes:
    - UTIL_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: UTIL_clockSpanNano
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 1
    functionsReached:
    - UTIL_getTime
    - UTIL_getSpanTimeNano
    linkageType: ''
    returnType: PTime
    signature: PTime UTIL_clockSpanNano(UTIL_time_t clockStart )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UTIL_getTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:163,1
    - Dst: UTIL_getTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:166,1
    - Dst: UTIL_getSpanTimeNano
      Src: /src/rtpproxy/external/xxHash/tests/bench/timefn.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: UTIL_waitForNextTick
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
    functionUses: 0
    functionsReached:
    - UTIL_getTime
    - UTIL_getSpanTimeNano
    linkageType: ''
    returnType: void
    signature: void UTIL_waitForNextTick(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: initBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initBuffer(void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BMK_initStatic_timedFnState
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:65,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:66,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:70,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:71,1
    - Dst: initBuffer
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:72,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:82,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:84,1
    - Dst: selectSize
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:87,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:108,1
    - Dst: BMK_isCompleted_TimedFn
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:109,1
    - Dst: BMK_benchTimedFn
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:110,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:111,1
    - Dst: BMK_isSuccessful_runOutcome
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:111,1
    - Dst: BMK_extract_runTime
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:114,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:116,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 7
    argNames:
    - hashfn
    - payload
    - nbBlocks
    - selectSize
    - size
    - total_time_ms
    - iter_time_ms
    argTypes:
    - BMK_benchFn_t
    - void*
    - size_t
    - sizeFunction_f
    - size_t
    - unsigned
    - unsigned
    assertStmts:
    - condition: (srcBuffer != NULL)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    - condition: (txf != NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    - condition: (nbBlocks < NB_BLOCKS_MAX)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    - condition: (size > 0)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    - condition: (BMK_isSuccessful_runOutcome(result))
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    - condition: (runTime.nanoSecPerRun != 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    constantsTouched: []
    func_position:
      end: 120
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 120
    functionName: bench_hash_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    functionUses: 0
    functionsReached:
    - free
    - initBuffer
    - selectSize
    - malloc
    - BMK_benchTimedFn
    - BMK_extract_runTime
    - BMK_isSuccessful_runOutcome
    - assert
    - BMK_isCompleted_TimedFn
    - memset
    - BMK_initStatic_timedFnState
    linkageType: ''
    returnType: double
    signature: "double bench_hash_internal(BMK_benchFn_t hashfn, void* payload,\n
      \                   size_t nbBlocks, sizeFunction_f selectSize, size_t size,\n
      \                   unsigned total_time_ms, unsigned iter_time_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - N
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: rand_1_N
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: size_t
    signature: size_t rand_1_N(size_t N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: identity
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t identity(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchfn
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - src
    - srcSize
    - dst
    - dstCapacity
    - customPayload
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: benchLatency
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    functionUses: 0
    functionsReached:
    - benchfn
    linkageType: ''
    returnType: size_t
    signature: "size_t benchLatency(const void* src, size_t srcSize,\n                   void*
      dst, size_t dstCapacity,\n                   void* customPayload)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bench_hash_internal
      Src: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - hashfn
    - benchMode
    - size
    - sizeMode
    - total_time_ms
    - iter_time_ms
    argTypes:
    - BMK_benchFn_t
    - BMK_benchMode
    - size_t
    - BMK_sizeMode
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: bench_hash
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
    functionUses: 5
    functionsReached:
    - bench_hash_internal
    linkageType: ''
    returnType: double
    signature: "double bench_hash(BMK_benchFn_t hashfn,\n                  BMK_benchMode
      benchMode,\n                  size_t size, BMK_sizeMode sizeMode,\n                  unsigned
      total_time_ms, unsigned iter_time_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/tests/bench/hashes.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - src
    - srcSize
    - dst
    - dstCapacity
    - customPayload
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: XXH32_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
    functionUses: 0
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: size_t
    signature: size_t XXH32_wrapper(const void* src, size_t srcSize, void* dst, size_t
      dstCapacity, void* customPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/tests/bench/hashes.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - src
    - srcSize
    - dst
    - dstCapacity
    - customPayload
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: XXH64_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
    functionUses: 0
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: size_t
    signature: size_t XXH64_wrapper(const void* src, size_t srcSize, void* dst, size_t
      dstCapacity, void* customPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits
      Src: /src/rtpproxy/external/xxHash/tests/bench/hashes.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - src
    - srcSize
    - dst
    - dstCapacity
    - customPayload
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: xxh3_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
    functionUses: 0
    functionsReached:
    - XXH3_64bits
    linkageType: ''
    returnType: size_t
    signature: size_t xxh3_wrapper(const void* src, size_t srcSize, void* dst, size_t
      dstCapacity, void* customPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/tests/bench/hashes.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - src
    - srcSize
    - dst
    - dstCapacity
    - customPayload
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: XXH128_wrapper
    functionSourceFile: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
    functionUses: 0
    functionsReached:
    - XXH3_128bits
    linkageType: ''
    returnType: size_t
    signature: size_t XXH128_wrapper(const void* src, size_t srcSize, void* dst, size_t
      dstCapacity, void* customPayload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - XSUM_U8*
    - size_t
    assertStmts:
    - condition: (buffer != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: XSUM_fillTestBuffer
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_fillTestBuffer(XSUM_U8* buffer, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: XSUM_sanityCheck
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_sanityCheck(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:231,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:232,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:233,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - XXH32_hash_t
    - XXH32_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: XSUM_checkResult32
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - exit
    linkageType: ''
    returnType: void
    signature: void XSUM_checkResult32(XXH32_hash_t r1, XXH32_hash_t r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:244,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:245,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:247,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - XXH64_hash_t
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: XSUM_checkResult64
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - exit
    linkageType: ''
    returnType: void
    signature: void XSUM_checkResult64(XXH64_hash_t r1, XXH64_hash_t r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:258,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:259,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:262,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - XXH128_hash_t
    - XXH128_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: XSUM_checkResult128
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - exit
    linkageType: ''
    returnType: void
    signature: void XSUM_checkResult128(XXH128_hash_t r1, XXH128_hash_t r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_createState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:272,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:282,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:285,1
    - Dst: XSUM_checkResult32
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:287,1
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:287,1
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:289,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:290,1
    - Dst: XSUM_checkResult32
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:291,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:291,1
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:293,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:295,1
    - Dst: XSUM_checkResult32
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:296,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:296,1
    - Dst: XXH32_freeState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - testData
    argTypes:
    - void*
    - XSUM_testdata32_t*
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (data != NULL)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 298
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 298
    functionName: XSUM_testXXH32
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XXH32_reset
    - XSUM_checkResult32
    - assert
    - XXH32
    - XXH32_update
    - XXH32_freeState
    - XXH32_digest
    - XXH32_createState
    linkageType: ''
    returnType: void
    signature: void XSUM_testXXH32(const void* data, const XSUM_testdata32_t* testData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_createState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:302,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:312,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:315,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:317,1
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:317,1
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:319,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:320,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:321,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:321,1
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:323,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:325,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:326,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:326,1
    - Dst: XXH64_freeState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - testData
    argTypes:
    - void*
    - XSUM_testdata64_t*
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (data != NULL)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: XSUM_testXXH64
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XXH64_freeState
    - XXH64
    - assert
    - XXH64_digest
    - XXH64_reset
    - XSUM_checkResult64
    - XXH64_createState
    - XXH64_update
    linkageType: ''
    returnType: void
    signature: void XSUM_testXXH64(const void* data, const XSUM_testdata64_t* testData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: XSUM_rand
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 XSUM_rand(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_rand
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:358,1
    - Dst: update_fn
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - state
    - data
    - len
    - update_fn
    argTypes:
    - XXH3_state_t*
    - void*
    - size_t
    - XSUM_XXH3_update_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: XSUM_XXH3_randomUpdate
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - update_fn
    - XSUM_rand
    linkageType: ''
    returnType: void
    signature: "void XSUM_XXH3_randomUpdate(XXH3_state_t* state, const void* data,\n
      \                                  size_t len, XSUM_XXH3_update_t update_fn)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:373,1
    - Dst: XXH3_64bits_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:375,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:376,1
    - Dst: XXH3_64bits
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:381,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:382,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:390,1
    - Dst: XXH3_64bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:391,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:392,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:398,1
    - Dst: XXH3_64bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:400,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:401,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:406,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:407,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:409,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:410,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:411,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:411,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:414,1
    - Dst: XSUM_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:415,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:416,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:416,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:420,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:422,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:423,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:423,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:431,1
    - Dst: XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:433,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:434,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:435,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:435,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:442,1
    - Dst: XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:443,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:444,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:445,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:445,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - data
    - testData
    argTypes:
    - void*
    - XSUM_testdata64_t*
    assertStmts:
    - condition: (data != NULL)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (state != NULL)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 452
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 452
    functionName: XSUM_testXXH3
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_withSecretandSeed
    - XXH3_createState
    - XXH3_64bits_digest
    - XSUM_XXH3_randomUpdate
    - XXH3_freeState
    - XXH3_64bits_withSeed
    - XXH3_64bits_reset_withSecretandSeed
    - assert
    - XXH3_generateSecret_fromSeed
    - memset
    - XSUM_checkResult64
    - XXH3_64bits
    - XXH3_64bits_update
    - XXH3_64bits_reset_withSeed
    linkageType: ''
    returnType: void
    signature: void XSUM_testXXH3(const void* data, const XSUM_testdata64_t* testData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:464,1
    - Dst: XXH3_64bits_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:466,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:467,1
    - Dst: XXH3_64bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:473,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:474,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:478,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:479,1
    - Dst: XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:480,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:481,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:482,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:482,1
    - Dst: XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:485,1
    - Dst: XSUM_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:486,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:487,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:487,1
    - Dst: XXH3_64bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:491,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:493,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:494,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:494,1
    - Dst: XXH3_64bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:502,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:503,1
    - Dst: XSUM_checkResult64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:504,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:504,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - data
    - secret
    - secretSize
    - testData
    argTypes:
    - void*
    - void*
    - size_t
    - XSUM_testdata64_t*
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (data != NULL)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 509
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 509
    functionName: XSUM_testXXH3_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_reset_withSecret
    - XXH3_64bits_withSecretandSeed
    - XXH3_createState
    - XXH3_64bits_digest
    - XSUM_XXH3_randomUpdate
    - XXH3_64bits_withSecret
    - XXH3_64bits_reset_withSecretandSeed
    - assert
    - XSUM_checkResult64
    - XXH3_freeState
    - XXH3_64bits_update
    linkageType: ''
    returnType: void
    signature: "void XSUM_testXXH3_withSecret(const void* data, const void* secret,\n
      \                                    size_t secretSize, const XSUM_testdata64_t*
      testData)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:519,1
    - Dst: XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:522,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:523,1
    - Dst: XXH128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:527,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:528,1
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:533,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:534,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:542,1
    - Dst: XXH3_128bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:543,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:544,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:550,1
    - Dst: XXH3_128bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:552,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:553,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:558,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:559,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:562,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:563,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:564,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:564,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:567,1
    - Dst: XSUM_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:568,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:569,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:569,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:573,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:575,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:576,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:576,1
    - Dst: XXH3_generateSecret_fromSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:584,1
    - Dst: XXH3_128bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:586,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:587,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:588,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:588,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:595,1
    - Dst: XXH3_128bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:596,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:597,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:598,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:598,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 2
    argNames:
    - data
    - testData
    argTypes:
    - void*
    - XSUM_testdata128_t*
    assertStmts:
    - condition: (data != NULL)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (state != NULL)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 604
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 604
    functionName: XSUM_testXXH128
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XSUM_XXH3_randomUpdate
    - XXH3_createState
    - XXH3_128bits_withSecretandSeed
    - XXH3_128bits_reset_withSeed
    - XXH3_freeState
    - XSUM_checkResult128
    - XXH3_128bits_reset_withSecretandSeed
    - XXH3_128bits_update
    - XXH3_128bits_withSeed
    - assert
    - XXH3_generateSecret_fromSeed
    - memset
    - XXH128
    - XXH3_128bits_digest
    - XXH3_128bits
    linkageType: ''
    returnType: void
    signature: void XSUM_testXXH128(const void* data, const XSUM_testdata128_t* testData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:613,1
    - Dst: XXH3_128bits_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:615,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:616,1
    - Dst: XXH3_128bits_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:622,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:623,1
    - Dst: XXH3_createState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:627,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:628,1
    - Dst: XXH3_128bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:629,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:630,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:631,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:631,1
    - Dst: XXH3_128bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:634,1
    - Dst: XSUM_XXH3_randomUpdate
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:635,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:636,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:636,1
    - Dst: XXH3_128bits_reset_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:640,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:642,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:643,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:643,1
    - Dst: XXH3_128bits_reset_withSecretandSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:650,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:651,1
    - Dst: XSUM_checkResult128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:652,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:652,1
    - Dst: XXH3_freeState
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - data
    - secret
    - secretSize
    - testData
    argTypes:
    - void*
    - void*
    - size_t
    - XSUM_testdata128_t*
    assertStmts:
    - condition: (state != NULL)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (data != NULL)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 657
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 657
    functionName: XSUM_testXXH128_withSecret
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_withSecret
    - XSUM_XXH3_randomUpdate
    - XXH3_createState
    - XXH3_128bits_withSecretandSeed
    - XXH3_128bits_reset_withSecret
    - XXH3_freeState
    - XSUM_checkResult128
    - XXH3_128bits_reset_withSecretandSeed
    - XXH3_128bits_update
    - assert
    - XXH3_128bits_digest
    linkageType: ''
    returnType: void
    signature: void XSUM_testXXH128_withSecret(const void* data, const void* secret,
      size_t secretSize, const XSUM_testdata128_t* testData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:667,1
    - Dst: XXH3_generateSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:668,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:672,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:673,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:674,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - customSeed
    - testData
    argTypes:
    - void*
    - XSUM_testdata_sample_t*
    assertStmts:
    - condition: (testData->secretLen <= SECRET_SIZE_MAX)
      pos:
        line_end: 666
        line_start: 666
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 680
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 680
    functionName: XSUM_testSecretGenerator
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XXH3_generateSecret
    - XSUM_log
    - assert
    - memcmp
    - exit
    linkageType: ''
    returnType: void
    signature: void XSUM_testSecretGenerator(const void* customSeed, const XSUM_testdata_sample_t*
      testData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:695,1
    - Dst: XSUM_fillTestBuffer
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:697,1
    - Dst: XSUM_testXXH32
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:701,1
    - Dst: XSUM_testXXH64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:705,1
    - Dst: XSUM_testXXH3
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:709,1
    - Dst: XSUM_testXXH3_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:713,1
    - Dst: XSUM_testXXH128
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:717,1
    - Dst: XSUM_testXXH128_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:721,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:725,1
    - Dst: XSUM_testSecretGenerator
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:726,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:729,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sizeof(sanityBuffer) >= 7 + secretSize)
      pos:
        line_end: 694
        line_start: 694
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - condition: (XSUM_XXH3_generateSecret_testdata[i].seedLen <= SANITY_BUFFER_SIZE)
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    constantsTouched: []
    func_position:
      end: 731
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 731
    functionName: XSUM_sanityCheck
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    functionUses: 0
    functionsReached:
    - XSUM_testXXH3
    - XSUM_testXXH3_withSecret
    - XSUM_testXXH64
    - XSUM_testXXH32
    - XSUM_testSecretGenerator
    - XSUM_testXXH128_withSecret
    - assert
    - XSUM_fillTestBuffer
    - XSUM_logVerbose
    - XSUM_testXXH128
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_sanityCheck(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start
    argTypes:
    - clock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: XSUM_clockSpan
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - clock
    linkageType: ''
    returnType: clock_t
    signature: clock_t XSUM_clockSpan( clock_t start )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:79,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - requiredMem
    argTypes:
    - XSUM_U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: XSUM_findMaxMem
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: size_t
    signature: size_t XSUM_findMaxMem(XSUM_U64 requiredMem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: localXXH32
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH32(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:116,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:117,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: localXXH32_stream
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH32_digest
    - XXH32_reset
    - XXH32_update
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH32_stream(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: localXXH64
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH64(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:128,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:129,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: localXXH64_stream
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH64_update
    - XXH64_digest
    - XXH64_reset
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH64_stream(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: localXXH3_64b
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_64b(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: localXXH3_64b_seeded
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_withSeed
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_64b_seeded(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: localXXH3_64b_secret
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_withSecret
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_64b_secret(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: localXXH3_128b
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_128b(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: localXXH3_128b_seeded
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_withSeed
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_128b_seeded(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits_withSecret
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: localXXH3_128b_secret
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_withSecret
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_128b_secret(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_64bits_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:164,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:165,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: localXXH3_stream
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_64bits_update
    - XXH3_64bits_reset
    - XXH3_64bits_digest
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_stream(const void* buffer, size_t bufferSize, XSUM_U32
      seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_INITSTATE
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:171,1
    - Dst: XXH3_64bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:172,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:173,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: localXXH3_stream_seeded
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_INITSTATE
    - XXH3_64bits_update
    - XXH3_64bits_reset_withSeed
    - XXH3_64bits_digest
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH3_stream_seeded(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_128bits_reset
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:180,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:181,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: localXXH128_stream
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_update
    - XXH3_128bits_digest
    - XXH3_128bits_reset
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH128_stream(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_INITSTATE
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:187,1
    - Dst: XXH3_128bits_reset_withSeed
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:188,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:189,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - seed
    argTypes:
    - void*
    - size_t
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: localXXH128_stream_seeded
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XXH3_128bits_reset_withSeed
    - XXH3_INITSTATE
    - XXH3_128bits_digest
    - XXH3_128bits_update
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 localXXH128_stream_seeded(const void* buffer, size_t bufferSize,
      XSUM_U32 seed)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:234,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:235,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:241,1
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:245,1
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:246,1
    - Dst: clock
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:247,1
    - Dst: h
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:251,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:253,1
    - Dst: XSUM_clockSpan
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:255,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:296,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:308,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:315,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 5
    argNames:
    - h
    - hName
    - testID
    - buffer
    - bufferSize
    argTypes:
    - hashFunction
    - char*
    - int
    - void*
    - size_t
    assertStmts:
    - condition: (HASHNAME_MAX > 2)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    constantsTouched: []
    func_position:
      end: 316
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 316
    functionName: XSUM_benchHash
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XSUM_clockSpan
    - clock
    - assert
    - XSUM_logVerbose
    - h
    linkageType: ''
    returnType: void
    signature: "void XSUM_benchHash(hashFunction h, const char* hName, int testID,\n
      \                          const void* buffer, size_t bufferSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:325,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:326,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:327,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:328,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:329,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:332,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (s1 != NULL)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    - condition: (s2 != NULL)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: XSUM_strcatDup
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: char * XSUM_strcatDup(const char* s1, const char* s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:353,1
    - Dst: XSUM_fillTestBuffer
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:354,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:358,1
    - Dst: XSUM_benchHash
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:362,1
    - Dst: XSUM_strcatDup
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:367,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:368,1
    - Dst: XSUM_benchHash
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:369,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - buffer
    - bufferSize
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: ((((size_t)buffer) & 15) == 0)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    - condition: (g_hashesToBench[hashFuncID].name != NULL)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    - condition: (hashNameBuf != NULL)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: XSUM_benchMem
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - free
    - XSUM_benchHash
    - assert
    - XSUM_fillTestBuffer
    - XSUM_strcatDup
    linkageType: ''
    returnType: void
    signature: void XSUM_benchMem(const void* buffer, size_t bufferSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_getFileSize
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:377,1
    - Dst: XSUM_findMaxMem
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:378,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: XSUM_selectBenchedSize
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - XSUM_findMaxMem
    - XSUM_log
    - XSUM_getFileSize
    linkageType: ''
    returnType: size_t
    signature: size_t XSUM_selectBenchedSize(const char* fileName)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:392,1
    - Dst: XSUM_fopen
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:394,1
    - Dst: XSUM_selectBenchedSize
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:395,1
    - Dst: calloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:396,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:401,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:401,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:402,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:403,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:406,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:407,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:408,1
    - Dst: fread
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:412,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:413,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:415,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:415,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:416,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:417,1
    - Dst: XSUM_benchMem
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:421,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - fileNamesTable
    - nbFiles
    argTypes:
    - char*[]
    - int
    assertStmts:
    - condition: (inFileName != NULL)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    constantsTouched: []
    func_position:
      end: 426
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 426
    functionName: XSUM_benchFiles
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - free
    - XSUM_selectBenchedSize
    - XSUM_fopen
    - XSUM_log
    - strerror
    - assert
    - fclose
    - fread
    - XSUM_benchMem
    - exit
    - calloc
    linkageType: ''
    returnType: int
    signature: int XSUM_benchFiles(const char* fileNamesTable[], int nbFiles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:431,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:433,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:434,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:440,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:442,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:444,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:446,1
    - Dst: XSUM_benchMem
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:448,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_bench.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - keySize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 452
    functionName: XSUM_benchInternal
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    functionUses: 0
    functionsReached:
    - free
    - XSUM_log
    - XSUM_logVerbose
    - XSUM_benchMem
    - exit
    - calloc
    linkageType: ''
    returnType: int
    signature: int XSUM_benchInternal(size_t keySize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:36,1
    - Dst: XSUM_vfprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:37,1
    - Dst: va_end
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: XSUM_log
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_output.c
    functionUses: 14
    functionsReached:
    - XSUM_vfprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int XSUM_log(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:48,1
    - Dst: XSUM_vfprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:49,1
    - Dst: va_end
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: XSUM_output
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_output.c
    functionUses: 0
    functionsReached:
    - XSUM_vfprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int XSUM_output(const char* format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:60,1
    - Dst: XSUM_vfprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:61,1
    - Dst: va_end
      Src: /src/rtpproxy/external/xxHash/cli/xsum_output.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - minLevel
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: XSUM_logVerbose
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_output.c
    functionUses: 3
    functionsReached:
    - XSUM_vfprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int XSUM_logVerbose(int minLevel, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: XSUM_isLittleEndian
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned XSUM_isLittleEndian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exename
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: WELCOME_MESSAGE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WELCOME_MESSAGE(exename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exename
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: FULL_WELCOME_MESSAGE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULL_WELCOME_MESSAGE(exename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:109,1
    - Dst: strchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:110,1
    - Dst: strchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: XSUM_filenameNeedsEscape
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int XSUM_filenameNeedsEscape(const char* filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: XSUM_lineNeedsUnescape
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XSUM_lineNeedsUnescape(const char* line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:125,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:132,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:135,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:138,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - filename
    - needsEscape
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: XSUM_printFilename
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_output
    linkageType: ''
    returnType: void
    signature: void XSUM_printFilename(const char* filename, int needsEscape)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - filenameLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 197
    functionName: XSUM_filenameUnescape
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * XSUM_filenameUnescape(char* filename, size_t filenameLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algoSelected
    argTypes:
    - AlgoSelected
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: XSUM_algoBitmask_ComputeAlgoBitmaskFromAlgoSelected
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 XSUM_algoBitmask_ComputeAlgoBitmaskFromAlgoSelected(AlgoSelected
      algoSelected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_algoBitmask_ComputeAlgoBitmaskFromAlgoSelected
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - algoBitmask
    - parsedLineAlgo
    argTypes:
    - XSUM_U32
    - AlgoSelected
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: XSUM_algoBitmask_Accepts
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_algoBitmask_ComputeAlgoBitmaskFromAlgoSelected
    linkageType: ''
    returnType: int
    signature: int XSUM_algoBitmask_Accepts(XSUM_U32 algoBitmask, AlgoSelected parsedLineAlgo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: XSUM_display_LittleEndian
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_output
    linkageType: ''
    returnType: void
    signature: void XSUM_display_LittleEndian(const void* ptr, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: XSUM_display_BigEndian
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_output
    linkageType: ''
    returnType: void
    signature: void XSUM_display_BigEndian(const void* ptr, size_t length)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_reset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:260,1
    - Dst: XXH64_reset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:261,1
    - Dst: XXH3_128bits_reset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:262,1
    - Dst: fread
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:266,1
    - Dst: XXH32_update
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:270,1
    - Dst: XXH64_update
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:273,1
    - Dst: XXH3_128bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:276,1
    - Dst: XXH3_64bits_update
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:279,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:282,1
    - Dst: ferror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:285,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:286,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:287,1
    - Dst: XXH32_digest
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:294,1
    - Dst: XXH64_digest
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:297,1
    - Dst: XXH3_128bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:300,1
    - Dst: XXH3_64bits_digest
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:303,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - inFile
    - hashType
    - buffer
    - blockSize
    argTypes:
    - FILE*
    - AlgoSelected
    - void*
    - size_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - condition: (0)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 310
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 310
    functionName: XSUM_hashStream
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - exit
    - XXH3_64bits_digest
    - XSUM_log
    - XXH32_reset
    - XXH3_128bits_update
    - assert
    - XXH3_128bits_digest
    - XXH64_digest
    - XXH32_update
    - fread
    - XXH64_reset
    - XXH32_digest
    - XXH64_update
    - XXH3_64bits_update
    - XXH3_128bits_reset
    - ferror
    linkageType: ''
    returnType: Multihash
    signature: "Multihash XSUM_hashStream(FILE* inFile,\n                AlgoSelected
      hashType,\n                void* buffer, size_t blockSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: XSUM_TABLE_ELT_SIZE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_TABLE_ELT_SIZE(table)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:326,1
    - Dst: XSUM_TABLE_ELT_SIZE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:326,1
    - Dst: XSUM_filenameNeedsEscape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:329,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:331,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:333,1
    - Dst: XSUM_printFilename
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:334,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:335,1
    - Dst: f_displayHash
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:336,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - filename
    - canonicalHash
    - hashType
    - algoString
    - f_displayHash
    argTypes:
    - char*
    - void*
    - AlgoSelected
    - char*[]
    - XSUM_displayHash_f
    assertStmts:
    - condition: (0 <= hashType && (size_t)hashType <= XSUM_TABLE_ELT_SIZE(XSUM_algoName))
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: XSUM_printLine_BSD_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - f_displayHash
    - XSUM_output
    - XSUM_printFilename
    - assert
    - XSUM_filenameNeedsEscape
    - XSUM_TABLE_ELT_SIZE
    linkageType: ''
    returnType: void
    signature: "void XSUM_printLine_BSD_internal(const char* filename,\n                                        const
      void* canonicalHash, const AlgoSelected hashType,\n                                        const
      char* algoString[],\n                                        XSUM_displayHash_f
      f_displayHash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_printLine_BSD_internal
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - canonicalHash
    - hashType
    argTypes:
    - char*
    - void*
    - AlgoSelected
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: XSUM_printLine_BSD_LE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_printLine_BSD_internal
    linkageType: ''
    returnType: void
    signature: void XSUM_printLine_BSD_LE(const char* filename, const void* canonicalHash,
      const AlgoSelected hashType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_printLine_BSD_internal
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - canonicalHash
    - hashType
    argTypes:
    - char*
    - void*
    - AlgoSelected
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: XSUM_printLine_BSD
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_printLine_BSD_internal
    linkageType: ''
    returnType: void
    signature: void XSUM_printLine_BSD(const char* filename, const void* canonicalHash,
      const AlgoSelected hashType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:352,1
    - Dst: XSUM_TABLE_ELT_SIZE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:352,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hashType
    argTypes:
    - AlgoSelected
    assertStmts:
    - condition: (0 <= hashType && (size_t)hashType <= XSUM_TABLE_ELT_SIZE(XSUM_algoName))
      pos:
        line_end: 351
        line_start: 351
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: XSUM_displayPrefix
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_output
    - XSUM_TABLE_ELT_SIZE
    - assert
    linkageType: ''
    returnType: void
    signature: void XSUM_displayPrefix(const AlgoSelected hashType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:362,1
    - Dst: XSUM_TABLE_ELT_SIZE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:362,1
    - Dst: XSUM_filenameNeedsEscape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:364,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:366,1
    - Dst: XSUM_displayPrefix
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:368,1
    - Dst: f_displayHash
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:369,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:370,1
    - Dst: XSUM_printFilename
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:371,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - filename
    - canonicalHash
    - hashType
    - f_displayHash
    argTypes:
    - char*
    - void*
    - AlgoSelected
    - XSUM_displayHash_f
    assertStmts:
    - condition: (0 <= hashType && (size_t)hashType <= XSUM_TABLE_ELT_SIZE(XSUM_algoName))
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: XSUM_printLine_GNU_internal
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - f_displayHash
    - XSUM_displayPrefix
    - XSUM_output
    - XSUM_printFilename
    - assert
    - XSUM_filenameNeedsEscape
    - XSUM_TABLE_ELT_SIZE
    linkageType: ''
    returnType: void
    signature: "void XSUM_printLine_GNU_internal(const char* filename,\n                               const
      void* canonicalHash, const AlgoSelected hashType,\n                               XSUM_displayHash_f
      f_displayHash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_printLine_GNU_internal
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - canonicalHash
    - hashType
    argTypes:
    - char*
    - void*
    - AlgoSelected
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: XSUM_printLine_GNU
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_printLine_GNU_internal
    linkageType: ''
    returnType: void
    signature: "void XSUM_printLine_GNU(const char* filename,\n                               const
      void* canonicalHash, const AlgoSelected hashType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_printLine_GNU_internal
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - filename
    - canonicalHash
    - hashType
    argTypes:
    - char*
    - void*
    - AlgoSelected
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: XSUM_printLine_GNU_LE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_printLine_GNU_internal
    linkageType: ''
    returnType: void
    signature: "void XSUM_printLine_GNU_LE(const char* filename,\n                                  const
      void* canonicalHash, const AlgoSelected hashType)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:415,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:416,1
    - Dst: XSUM_setBinaryMode
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:422,1
    - Dst: XSUM_isDirectory
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:424,1
    - Dst: XSUM_fopen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:427,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:433,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:435,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:436,1
    - Dst: XSUM_hashStream
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:441,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:443,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:444,1
    - Dst: XXH32_canonicalFromHash
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:452,1
    - Dst: f_displayLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:453,1
    - Dst: XXH64_canonicalFromHash
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:458,1
    - Dst: f_displayLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:459,1
    - Dst: XXH128_canonicalFromHash
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:464,1
    - Dst: f_displayLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:465,1
    - Dst: XXH64_canonicalFromHash
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:470,1
    - Dst: f_displayLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:471,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - fileName
    - hashType
    - displayEndianness
    - convention
    argTypes:
    - char*
    - AlgoSelected
    - Display_endianness
    - Display_convention
    assertStmts:
    - condition: (convention==display_gnu || convention==display_bsd)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - condition: (0)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - condition: (displayEndianness==big_endian || displayEndianness==little_endian)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 479
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 479
    functionName: XSUM_hashFile
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - free
    - XXH128_canonicalFromHash
    - XSUM_setBinaryMode
    - XSUM_hashStream
    - XSUM_log
    - XSUM_fopen
    - malloc
    - XXH32_canonicalFromHash
    - XSUM_isDirectory
    - XXH64_canonicalFromHash
    - assert
    - fclose
    - f_displayLine
    linkageType: ''
    returnType: LineStatus
    signature: "LineStatus XSUM_hashFile(const char* fileName,\n                         const
      AlgoSelected hashType,\n                         const Display_endianness displayEndianness,\n
      \                        const Display_convention convention)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_hashFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:496,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:503,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:506,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:506,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:509,1
    - Dst: XSUM_hashFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:520,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:527,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:530,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:530,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - fnList
    - fnTotal
    - hashType
    - displayEndianness
    - convention
    argTypes:
    - char*[]
    - int
    - AlgoSelected
    - Display_endianness
    - Display_convention
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 542
    functionName: XSUM_hashFiles
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_hashFile
    - XSUM_log
    - strerror
    linkageType: ''
    returnType: int
    signature: "int XSUM_hashFiles(const char* fnList[], int fnTotal,\n                          AlgoSelected
      hashType,\n                          Display_endianness displayEndianness,\n
      \                         Display_convention convention)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:617,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:619,1
    - Dst: fgetc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:625,1
    - Dst: realloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:644,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - lineBuf
    - lineMax
    - inFile
    argTypes:
    - char**
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 663
    functionName: XSUM_getLine
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - free
    - realloc
    - malloc
    - fgetc
    linkageType: ''
    returnType: GetLineResult
    signature: GetLineResult XSUM_getLine(char** lineBuf, int* lineMax, FILE* inFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 681
    functionName: charToHex
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int charToHex(char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: charToHex
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:701,1
    - Dst: charToHex
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - dstSize
    - hashStr
    - reverseBytes
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 710
    functionName: XSUM_canonicalFromString
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - charToHex
    linkageType: ''
    returnType: CanonicalFromStringResult
    signature: "CanonicalFromStringResult XSUM_canonicalFromString(unsigned char*
      dst,\n                                                          size_t dstSize,\n
      \                                                         const char* hashStr,\n
      \                                                         int reverseBytes)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:734,1
    - Dst: strrchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:743,1
    - Dst: strstr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:748,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:750,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:751,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:752,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:753,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:754,1
    - Dst: XSUM_algoBitmask_Accepts
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:765,1
    - Dst: XSUM_canonicalFromString
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:774,1
    - Dst: XSUM_canonicalFromString
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:784,1
    - Dst: memcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:794,1
    - Dst: XSUM_canonicalFromString
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:796,1
    - Dst: XSUM_canonicalFromString
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:806,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:822,1
    - Dst: XSUM_filenameUnescape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:824,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 85
    argCount: 5
    argNames:
    - parsedLine
    - line
    - rev
    - needsUnescape
    - algoBitmask
    argTypes:
    - ParsedLine*
    - char*
    - int
    - int
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 832
    functionName: XSUM_parseLine1
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_filenameUnescape
    - XSUM_algoBitmask_Accepts
    - XSUM_canonicalFromString
    - memcmp
    - strchr
    - strlen
    - strstr
    - strrchr
    linkageType: ''
    returnType: ParseLineResult
    signature: ParseLineResult XSUM_parseLine1(ParsedLine* parsedLine, char* line,
      int rev, int needsUnescape, XSUM_U32 algoBitmask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_lineNeedsUnescape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:835,1
    - Dst: XSUM_parseLine1
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - parsedLine
    - line
    - rev
    - algoBitmask
    argTypes:
    - ParsedLine*
    - char*
    - int
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 834
    functionDepth: 3
    functionLinenumber: 834
    functionLinenumberEnd: 840
    functionName: XSUM_parseLine
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_parseLine1
    - XSUM_lineNeedsUnescape
    linkageType: ''
    returnType: ParseLineResult
    signature: ParseLineResult XSUM_parseLine(ParsedLine* parsedLine, char* line,
      int rev, XSUM_U32 algoBitmask)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:853,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:858,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:863,1
    - Dst: XSUM_getLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:869,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:888,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:892,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:896,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:900,1
    - Dst: XSUM_parseLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:907,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:910,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:919,1
    - Dst: XSUM_fopen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:920,1
    - Dst: XSUM_setBinaryMode
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:922,1
    - Dst: XSUM_hashStream
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:929,1
    - Dst: XXH32_hashFromCanonical
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:933,1
    - Dst: XXH64_hashFromCanonical
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:940,1
    - Dst: XXH128_isEqual
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:946,1
    - Dst: XXH128_hashFromCanonical
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:946,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:955,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:961,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:967,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:976,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:977,1
    - Dst: XSUM_filenameNeedsEscape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:994,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:996,1
    - Dst: XSUM_printFilename
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:998,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:999,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 116
    argCount: 2
    argNames:
    - XSUM_parseFileArg
    - rev
    argTypes:
    - ParseFileArg*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 887
        line_start: 887
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - condition: (0)
      pos:
        line_end: 966
        line_start: 966
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 1004
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 1004
    functionName: XSUM_parseFile1
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XXH128_isEqual
    - XSUM_getLine
    - XSUM_setBinaryMode
    - XSUM_hashStream
    - XXH64_hashFromCanonical
    - XSUM_log
    - XSUM_fopen
    - XSUM_output
    - strerror
    - XSUM_parseLine
    - XXH128_hashFromCanonical
    - XSUM_printFilename
    - XXH32_hashFromCanonical
    - strcmp
    - assert
    - fclose
    - XSUM_filenameNeedsEscape
    - memset
    linkageType: ''
    returnType: void
    signature: void XSUM_parseFile1(ParseFileArg* XSUM_parseFileArg, int rev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_fopen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1047,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1051,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1051,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1058,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1060,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1070,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1071,1
    - Dst: XSUM_parseFile1
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1073,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1075,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1076,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1078,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1083,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1086,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1091,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1096,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1112,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 8
    argNames:
    - inFileName
    - displayEndianness
    - strictMode
    - statusOnly
    - ignoreMissing
    - warn
    - quiet
    - algoBitmask
    argTypes:
    - char*
    - Display_endianness
    - int
    - int
    - int
    - int
    - int
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1023
    functionDepth: 5
    functionLinenumber: 1023
    functionLinenumberEnd: 1117
    functionName: XSUM_checkFile
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - free
    - XSUM_log
    - XSUM_fopen
    - strerror
    - malloc
    - XSUM_output
    - fclose
    - XSUM_parseFile1
    - exit
    linkageType: ''
    returnType: int
    signature: "int XSUM_checkFile(const char* inFileName,\n                          const
      Display_endianness displayEndianness,\n                          int strictMode,\n
      \                         int statusOnly,\n                          int ignoreMissing,\n
      \                         int warn,\n                          int quiet,\n
      \                         XSUM_U32 algoBitmask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_checkFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1134,1
    - Dst: XSUM_checkFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - fnList
    - fnTotal
    - displayEndianness
    - strictMode
    - statusOnly
    - ignoreMissing
    - warn
    - quiet
    - algoBitmask
    argTypes:
    - char*[]
    - int
    - Display_endianness
    - int
    - int
    - int
    - int
    - int
    - XSUM_U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1120
    functionDepth: 6
    functionLinenumber: 1120
    functionLinenumberEnd: 1141
    functionName: XSUM_checkFiles
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_checkFile
    linkageType: ''
    returnType: int
    signature: "int XSUM_checkFiles(const char* fnList[], int fnTotal,\n                           const
      Display_endianness displayEndianness,\n                           int strictMode,\n
      \                          int statusOnly,\n                           int ignoreMissing,\n
      \                          int warn,\n                           int quiet,\n
      \                          XSUM_U32 algoBitmask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_lineNeedsUnescape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1153,1
    - Dst: strlen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1156,1
    - Dst: XSUM_filenameUnescape
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - parsedLine
    - filename
    argTypes:
    - ParsedLine*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1167
    functionName: XSUM_parseGenLine
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - strlen
    - XSUM_filenameUnescape
    - XSUM_lineNeedsUnescape
    linkageType: ''
    returnType: ParseLineResult
    signature: "ParseLineResult XSUM_parseGenLine(ParsedLine * parsedLine,\n    char*
      filename)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1181,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1186,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1191,1
    - Dst: XSUM_getLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1196,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1215,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1219,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1223,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1227,1
    - Dst: XSUM_parseGenLine
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1234,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1237,1
    - Dst: XSUM_hashFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1245,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1250,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1255,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1266,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1270,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 4
    argNames:
    - XSUM_parseGenArg
    - hashType
    - displayEndianness
    - convention
    argTypes:
    - ParseFileArg*
    - AlgoSelected
    - Display_endianness
    - Display_convention
    assertStmts:
    - condition: (0)
      pos:
        line_end: 1214
        line_start: 1214
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 1280
      start: 1172
    functionDepth: 4
    functionLinenumber: 1172
    functionLinenumberEnd: 1280
    functionName: XSUM_parseGenFile1
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_getLine
    - XSUM_log
    - strerror
    - XSUM_output
    - XSUM_hashFile
    - assert
    - memset
    - XSUM_parseGenLine
    linkageType: ''
    returnType: void
    signature: "void XSUM_parseGenFile1(ParseFileArg* XSUM_parseGenArg,\n    AlgoSelected
      hashType,\n    Display_endianness displayEndianness,\n    Display_convention
      convention)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_fopen
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1309,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1313,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1313,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1320,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1322,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1329,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1330,1
    - Dst: XSUM_parseGenFile1
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1332,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1334,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1335,1
    - Dst: fclose
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1337,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1342,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1345,1
    - Dst: XSUM_output
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 7
    argNames:
    - inFileName
    - hashType
    - displayEndianness
    - convention
    - statusOnly
    - ignoreMissing
    - warn
    argTypes:
    - char*
    - AlgoSelected
    - Display_endianness
    - Display_convention
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1285
    functionDepth: 5
    functionLinenumber: 1285
    functionLinenumberEnd: 1362
    functionName: XSUM_generateFile
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - free
    - XSUM_log
    - XSUM_fopen
    - strerror
    - malloc
    - XSUM_parseGenFile1
    - XSUM_output
    - fclose
    - exit
    linkageType: ''
    returnType: int
    signature: "int XSUM_generateFile(const char* inFileName,\n    AlgoSelected hashType,\n
      \   Display_endianness displayEndianness,\n    Display_convention convention,\n
      \   int statusOnly,\n    int ignoreMissing,\n    int warn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_generateFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1377,1
    - Dst: XSUM_generateFile
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - fnList
    - fnTotal
    - hashType
    - displayEndianness
    - convention
    - statusOnly
    - ignoreMissing
    - warn
    argTypes:
    - char*[]
    - int
    - AlgoSelected
    - Display_endianness
    - Display_convention
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1364
    functionDepth: 6
    functionLinenumber: 1364
    functionLinenumberEnd: 1385
    functionName: XSUM_generateFiles
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_generateFile
    linkageType: ''
    returnType: int
    signature: "int XSUM_generateFiles(const char* fnList[], int fnTotal,\n    AlgoSelected
      hashType,\n    Display_endianness displayEndianness,\n    Display_convention
      convention,\n    int statusOnly,\n    int ignoreMissing,\n    int warn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1394,1
    - Dst: WELCOME_MESSAGE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1394,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1395,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1396,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1397,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1398,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1399,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1400,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1401,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1402,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1403,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1404,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1405,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - exename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1408
    functionName: XSUM_usage
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - WELCOME_MESSAGE
    linkageType: ''
    returnType: int
    signature: int XSUM_usage(const char* exename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_usage
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1413,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1414,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1415,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1416,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1417,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1418,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1419,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1420,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1421,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1422,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1423,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1424,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1425,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1426,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1427,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1428,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - exename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1411
    functionDepth: 3
    functionLinenumber: 1411
    functionLinenumberEnd: 1431
    functionName: XSUM_usage_advanced
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - XSUM_usage
    linkageType: ''
    returnType: int
    signature: int XSUM_usage_advanced(const char* exename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1435,1
    - Dst: XSUM_usage
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1433
    functionDepth: 3
    functionLinenumber: 1433
    functionLinenumberEnd: 1438
    functionName: XSUM_badusage
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - XSUM_usage
    linkageType: ''
    returnType: int
    signature: int XSUM_badusage(const char* exename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1442,1
    - Dst: exit
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1444
    functionName: errorOut
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - exit
    linkageType: ''
    returnType: void
    signature: void errorOut(const char* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1449,1
    - Dst: strrchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1449,1
    - Dst: strrchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1450,1
    - Dst: strrchr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1452
    functionName: XSUM_lastNameFromPath
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char
    signature: char * XSUM_lastNameFromPath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - stringPtr
    - value
    argTypes:
    - char**
    - XSUM_U32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1485
    functionName: XSUM_readU32FromCharChecked
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XSUM_readU32FromCharChecked(const char** stringPtr, XSUM_U32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_readU32FromCharChecked
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1496,1
    - Dst: errorOut
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stringPtr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1501
    functionName: XSUM_readU32FromChar
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - errorOut
    - XSUM_readU32FromCharChecked
    linkageType: ''
    returnType: XSUM_U32
    signature: XSUM_U32 XSUM_readU32FromChar(const char** stringPtr)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_lastNameFromPath
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1506,1
    - Dst: strstr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1525,1
    - Dst: strstr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1526,1
    - Dst: strstr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1527,1
    - Dst: strstr
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1528,1
    - Dst: assert
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1532,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1534,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1535,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1536,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1537,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1538,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1539,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1540,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1541,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1542,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1543,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1544,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1545,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1546,1
    - Dst: XSUM_usage_advanced
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1546,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1547,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1547,1
    - Dst: FULL_WELCOME_MESSAGE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1547,1
    - Dst: XSUM_sanityCheck
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1547,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1548,1
    - Dst: strcmp
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1550,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1568,1
    - Dst: FULL_WELCOME_MESSAGE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1568,1
    - Dst: XSUM_sanityCheck
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1569,1
    - Dst: XSUM_usage_advanced
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1574,1
    - Dst: XSUM_readU32FromChar
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1578,1
    - Dst: XSUM_badusage
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1588,1
    - Dst: XSUM_readU32FromChar
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1616,1
    - Dst: XSUM_readU32FromChar
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1628,1
    - Dst: XSUM_readU32FromChar
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1634,1
    - Dst: XSUM_badusage
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1644,1
    - Dst: XSUM_logVerbose
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1651,1
    - Dst: FULL_WELCOME_MESSAGE
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1651,1
    - Dst: XSUM_sanityCheck
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1652,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1654,1
    - Dst: memset
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1655,1
    - Dst: XSUM_benchInternal
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1656,1
    - Dst: XSUM_benchFiles
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1657,1
    - Dst: XSUM_isConsole
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1661,1
    - Dst: XSUM_badusage
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1662,1
    - Dst: XSUM_checkFiles
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1667,1
    - Dst: XSUM_generateFiles
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1672,1
    - Dst: XSUM_hashFiles
      Src: /src/rtpproxy/external/xxHash/cli/xxhsum.c:1675,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 185
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argument != NULL)
      pos:
        line_end: 1531
        line_start: 1531
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    constantsTouched: []
    func_position:
      end: 1677
      start: 1503
    functionDepth: 7
    functionLinenumber: 1503
    functionLinenumberEnd: 1677
    functionName: XSUM_main
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    functionUses: 0
    functionsReached:
    - XSUM_log
    - XSUM_benchFiles
    - assert
    - XSUM_logVerbose
    - XSUM_hashFiles
    - strstr
    - XSUM_usage_advanced
    - XSUM_sanityCheck
    - XSUM_generateFiles
    - XSUM_benchInternal
    - XSUM_badusage
    - strcmp
    - memset
    - FULL_WELCOME_MESSAGE
    - XSUM_lastNameFromPath
    - XSUM_checkFiles
    - XSUM_isConsole
    - memcpy
    - XSUM_readU32FromChar
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_main(int argc, const char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EM_ASM_INT
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:53,1
    - Dst: return
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:54,1
    - Dst: prototype::toString::call
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:54,1
    - Dst: EM_ASM_INT
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:59,1
    - Dst: require
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:60,1
    - Dst: fileno
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:61,1
    - Dst: isatty
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:64,1
    - Dst: fileno
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stdStream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: XSUM_IS_CONSOLE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - isatty
    - prototype::toString::call
    - fileno
    - return
    - require
    - EM_ASM_INT
    linkageType: ''
    returnType: int
    signature: int XSUM_IS_CONSOLE(FILE* stdStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stdStream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: XSUM_IS_CONSOLE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_IS_CONSOLE(stdStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stdStream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: XSUM_IS_CONSOLE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_IS_CONSOLE(stdStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _isatty
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:89,1
    - Dst: _fileno
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:89,1
    - Dst: GetConsoleMode
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:89,1
    - Dst: _get_osfhandle
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:89,1
    - Dst: _fileno
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - stdStream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: XSUM_IS_CONSOLE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - _fileno
    - GetConsoleMode
    - _get_osfhandle
    - _isatty
    linkageType: ''
    returnType: int
    signature: int XSUM_IS_CONSOLE(FILE* stdStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stdStream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: XSUM_IS_CONSOLE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_IS_CONSOLE(stdStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: XSUM_SET_BINARY_MODE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: XSUM_SET_BINARY_MODE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: XSUM_SET_BINARY_MODE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_IS_CONSOLE
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: XSUM_isConsole
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 1
    functionsReached:
    - XSUM_IS_CONSOLE
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_isConsole(FILE* stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_SET_BINARY_MODE
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: XSUM_setBinaryMode
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 2
    functionsReached:
    - XSUM_SET_BINARY_MODE
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_setBinaryMode(FILE* stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: XSUM_fopen
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 5
    functionsReached:
    - fopen
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API * XSUM_fopen(const char* filename, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - format
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: XSUM_vfprintf
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 3
    functionsReached:
    - vfprintf
    linkageType: ''
    returnType: int
    signature: int XSUM_vfprintf(FILE* stream, const char* format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _stat64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:134,1
    - Dst: stat
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - infilename
    - statbuf
    argTypes:
    - char*
    - XSUM_stat_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: XSUM_stat
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - stat
    - _stat64
    linkageType: ''
    returnType: int
    signature: int XSUM_stat(const char* infilename, XSUM_stat_t* statbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pledge
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:147,1
    - Dst: XSUM_log
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:148,1
    - Dst: strerror
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:148,1
    - Dst: XSUM_main
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 8
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 3
    functionsReached:
    - XSUM_main
    - XSUM_log
    - strerror
    - pledge
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char* argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:172,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:175,1
    - Dst: MultiByteToWideChar
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:177,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - lenOut
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 183
    functionName: XSUM_widenString
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - MultiByteToWideChar
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t * XSUM_widenString(const char* str, int* lenOut)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:191,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:194,1
    - Dst: WideCharToMultiByte
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:196,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - lenOut
    argTypes:
    - wchar_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: XSUM_narrowString
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - free
    - WideCharToMultiByte
    - malloc
    linkageType: ''
    returnType: char
    signature: char * XSUM_narrowString(const wchar_t *str, int *lenOut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_widenString
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:219,1
    - Dst: XSUM_widenString
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:221,1
    - Dst: _wfopen
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:223,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:224,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: XSUM_fopen
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 5
    functionsReached:
    - free
    - XSUM_widenString
    - _wfopen
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API * XSUM_fopen(const char* filename, const char* mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_widenString
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:237,1
    - Dst: _wstat64
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:239,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - infilename
    - statbuf
    argTypes:
    - char*
    - XSUM_stat_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: XSUM_stat
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - free
    - XSUM_widenString
    - _wstat64
    linkageType: ''
    returnType: int
    signature: int XSUM_stat(const char* infilename, XSUM_stat_t* statbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - destination
    - ','
    - source
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: XSUM_va_copy
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_va_copy(destination, source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - destination
    - ','
    - source
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: XSUM_va_copy
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_va_copy(destination, source)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_va_copy
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:268,1
    - Dst: _vscprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:270,1
    - Dst: va_end
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:271,1
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:278,1
    - Dst: vsprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:283,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - strp
    - format
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 290
    functionName: XSUM_vasprintf
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - free
    - vsprintf
    - _vscprintf
    - malloc
    - va_end
    - XSUM_va_copy
    linkageType: ''
    returnType: int
    signature: int XSUM_vasprintf(char** strp, const char* format, va_list ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_vasprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:313,1
    - Dst: _fileno
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:322,1
    - Dst: _get_osfhandle
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:323,1
    - Dst: _isatty
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:329,1
    - Dst: GetConsoleMode
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:329,1
    - Dst: XSUM_widenString
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:337,1
    - Dst: WriteConsoleW
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:341,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:346,1
    - Dst: fwrite
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:350,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - stream
    - format
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 358
    functionName: XSUM_vfprintf
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 3
    functionsReached:
    - free
    - GetConsoleMode
    - XSUM_widenString
    - WriteConsoleW
    - _get_osfhandle
    - fwrite
    - _isatty
    - _fileno
    - XSUM_vasprintf
    linkageType: ''
    returnType: int
    signature: int XSUM_vfprintf(FILE *stream, const char *format, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:368,1
    - Dst: XSUM_narrowString
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:372,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:376,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 385
    functionName: XSUM_convertArgv
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - XSUM_narrowString
    linkageType: ''
    returnType: char
    signature: char ** XSUM_convertArgv(int argc, wchar_t* utf16_argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:394,1
    - Dst: free
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: XSUM_freeArgv
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void XSUM_freeArgv(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_convertArgv
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:402,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:406,1
    - Dst: abort
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:407,1
    - Dst: setvbuf
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:419,1
    - Dst: XSUM_main
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:422,1
    - Dst: XSUM_freeArgv
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - utf16_argv
    argTypes:
    - int
    - wchar_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 399
    functionDepth: 8
    functionLinenumber: 399
    functionLinenumberEnd: 428
    functionName: XSUM_wmain
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 0
    functionsReached:
    - fprintf
    - XSUM_freeArgv
    - setvbuf
    - XSUM_main
    - abort
    - XSUM_convertArgv
    linkageType: ''
    returnType: int
    signature: int XSUM_wmain(int argc, wchar_t* utf16_argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_wmain
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - utf16_argv
    argTypes:
    - int
    - wchar_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 9
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: wmain
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 1
    functionsReached:
    - XSUM_wmain
    linkageType: ''
    returnType: int
    signature: int wmain(int argc, wchar_t* utf16_argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __wgetmainargs
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:486,1
    - Dst: XSUM_main
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:488,1
    - Dst: XSUM_wmain
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ansi_argc
    - ansi_argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 478
    functionDepth: 9
    functionLinenumber: 478
    functionLinenumberEnd: 492
    functionName: main
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 6
    functionsReached:
    - XSUM_main
    - XSUM_wmain
    - __wgetmainargs
    linkageType: ''
    returnType: int
    signature: int main(int ansi_argc, const char* ansi_argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_stat
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:505,1
    - Dst: S_ISDIR
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: XSUM_isDirectory
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 1
    functionsReached:
    - XSUM_stat
    - S_ISDIR
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_isDirectory(const char* filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XSUM_stat
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:520,1
    - Dst: S_ISREG
      Src: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 523
    functionName: XSUM_getFileSize
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    functionUses: 1
    functionsReached:
    - S_ISREG
    - XSUM_stat
    linkageType: ''
    returnType: XSUM_API
    signature: XSUM_API XSUM_getFileSize(const char* filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XXH_featureTest
      Src: /src/rtpproxy/external/xxHash/cli/xsum_arch.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: XSUM_autox86
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_arch.c
    functionUses: 0
    functionsReached:
    - XXH_featureTest
    linkageType: ''
    returnType: char
    signature: char * XSUM_autox86(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: XSUM_ATTRIBUTE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_ATTRIBUTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: S_ISREG
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_config.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: XSUM_QUOTE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_QUOTE(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: XSUM_EXPAND_AND_QUOTE
    functionSourceFile: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSUM_EXPAND_AND_QUOTE(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/rtpproxy/external/xxHash/fuzz/fuzzer.c:6,1
    - Dst: XXH32
      Src: /src/rtpproxy/external/xxHash/fuzz/fuzzer.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 11
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/rtpproxy/external/xxHash/fuzz/fuzzer.c
    functionUses: 1
    functionsReached:
    - XXH64
    - XXH32
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: SPMC_ASSERT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPMC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SPMC_ASSERT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPMC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SPMC_ASSERT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPMC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: SPMC_ASSERT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPMC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SPMC_ASSERT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPMC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SPMC_ASSERT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPMC_ASSERT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: round_up_size
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t round_up_size(size_t size, size_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: round_up_size
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:57,1
    - Dst: _aligned_malloc
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:59,1
    - Dst: posix_memalign
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: spmc_aligned_alloc
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached:
    - round_up_size
    - posix_memalign
    - _aligned_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      spmc_aligned_alloc(size_t alignment, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_free
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:73,1
    - Dst: free
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: spmc_aligned_free
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached:
    - free
    - _aligned_free
    linkageType: ''
    returnType: void
    signature: void spmc_aligned_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:85,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:86,1
    - Dst: spmc_aligned_alloc
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:88,1
    - Dst: atomic_init
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:94,1
    - Dst: atomic_init
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:95,1
    - Dst: atomic_init
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    assertStmts:
    - condition: (capacity > 0)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    - condition: ((capacity & (capacity - 1)) == 0)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: create_queue
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 1
    functionsReached:
    - atomic_init
    - spmc_aligned_alloc
    - assert
    linkageType: ''
    returnType: SPMCQueue
    signature: 'SPMCQueue *

      create_queue(size_t capacity)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spmc_aligned_free
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SPMCQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: destroy_queue
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached:
    - spmc_aligned_free
    linkageType: ''
    returnType: void
    signature: void destroy_queue(SPMCQueue* queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - mo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: LOAD_R_IDX
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_R_IDX(q, mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - mo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: LOAD_W_IDX
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_W_IDX(q, mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: LOAD_W_CACHE
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_W_CACHE(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - q
    - ','
    - ov
    - ','
    - nv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: UPDATE_R_IDX
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_R_IDX(q, ov, nv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: UPDATE_W_IDX
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_W_IDX(q, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: UPDATE_W_CACHE
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_W_CACHE(q, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - q
    - ','
    - v
    - ','
    - mo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: REFRESH_R_CACHE
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REFRESH_R_CACHE(q, v, mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - q
    - ','
    - v
    - ','
    - mo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: REFRESH_W_CACHE
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REFRESH_W_CACHE(q, v, mo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: SLOT_IDX
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLOT_IDX(q, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: SLOT_AT
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLOT_AT(q, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - q
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: SLOT_PTR
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLOT_PTR(q, idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:140,1
    - Dst: SLOT_AT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:145,1
    - Dst: UPDATE_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:146,1
    - Dst: REFRESH_R_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:150,1
    - Dst: SLOT_AT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:153,1
    - Dst: UPDATE_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - queue
    - value
    argTypes:
    - SPMCQueue*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: try_push
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 2
    functionsReached:
    - REFRESH_R_CACHE
    - LOAD_W_IDX
    - SLOT_AT
    - UPDATE_W_IDX
    linkageType: ''
    returnType: bool
    signature: bool try_push(SPMCQueue* queue, void* value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:164,1
    - Dst: REFRESH_R_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:169,1
    - Dst: SLOT_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:181,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:185,1
    - Dst: SLOT_PTR
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:185,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:187,1
    - Dst: SLOT_PTR
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:187,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:188,1
    - Dst: UPDATE_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - queue
    - values
    - howmany
    argTypes:
    - SPMCQueue*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 194
    functionName: try_push_many
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 0
    functionsReached:
    - SLOT_IDX
    - UPDATE_W_IDX
    - REFRESH_R_CACHE
    - memcpy
    - LOAD_W_IDX
    - SLOT_PTR
    linkageType: ''
    returnType: size_t
    signature: size_t try_push_many(SPMCQueue* queue, void** values, size_t howmany)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:200,1
    - Dst: REFRESH_R_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:205,1
    - Dst: SLOT_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:217,1
    - Dst: pre_queue
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:222,1
    - Dst: SLOT_AT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:223,1
    - Dst: UPDATE_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - queue
    - values
    - howmany
    - pre_queue
    - cb_arg
    argTypes:
    - SPMCQueue*
    - void**
    - size_t
    - SPMCPrePushFunc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 228
    functionName: try_push_many_pre
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 1
    functionsReached:
    - SLOT_IDX
    - SLOT_AT
    - UPDATE_W_IDX
    - REFRESH_R_CACHE
    - pre_queue
    - LOAD_W_IDX
    linkageType: ''
    returnType: size_t
    signature: "size_t try_push_many_pre(SPMCQueue* queue, void** values, size_t howmany,\n
      \ SPMCPrePushFunc pre_queue, void *cb_arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:234,1
    - Dst: REFRESH_R_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:240,1
    - Dst: SLOT_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:243,1
    - Dst: get_value
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:252,1
    - Dst: SLOT_AT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:254,1
    - Dst: UPDATE_W_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - queue
    - keys
    - howmany
    - get_value
    - cb_arg
    argTypes:
    - SPMCQueue*
    - void**
    - size_t
    - SPMCGetPushFunc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 263
    functionName: try_push_many_kv
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 1
    functionsReached:
    - SLOT_IDX
    - get_value
    - SLOT_AT
    - UPDATE_W_IDX
    - REFRESH_R_CACHE
    - LOAD_W_IDX
    linkageType: ''
    returnType: size_t
    signature: "size_t try_push_many_kv(SPMCQueue* queue, void** keys, size_t howmany,\n
      \ SPMCGetPushFunc get_value, void *cb_arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_R_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:273,1
    - Dst: LOAD_W_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:275,1
    - Dst: REFRESH_W_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:278,1
    - Dst: SPMC_ASSERT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:283,1
    - Dst: SLOT_AT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:286,1
    - Dst: UPDATE_R_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - queue
    - value
    argTypes:
    - SPMCQueue*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 290
    functionName: try_pop
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 3
    functionsReached:
    - SPMC_ASSERT
    - UPDATE_R_IDX
    - SLOT_AT
    - LOAD_W_CACHE
    - LOAD_R_IDX
    - REFRESH_W_CACHE
    linkageType: ''
    returnType: bool
    signature: bool try_pop(SPMCQueue* queue, void** value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_R_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:298,1
    - Dst: LOAD_W_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:300,1
    - Dst: REFRESH_W_CACHE
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:303,1
    - Dst: SPMC_ASSERT
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:308,1
    - Dst: SLOT_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:314,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:318,1
    - Dst: SLOT_PTR
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:318,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:320,1
    - Dst: SLOT_PTR
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:320,1
    - Dst: memcpy
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:321,1
    - Dst: UPDATE_R_IDX
      Src: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - queue
    - values
    - howmany
    argTypes:
    - SPMCQueue*
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: try_pop_many
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    functionUses: 3
    functionsReached:
    - SPMC_ASSERT
    - SLOT_PTR
    - SLOT_IDX
    - UPDATE_R_IDX
    - LOAD_W_CACHE
    - memcpy
    - LOAD_R_IDX
    - REFRESH_W_CACHE
    linkageType: ''
    returnType: size_t
    signature: size_t try_pop_many(SPMCQueue* queue, void** values, size_t howmany)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: unlikely
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: likely
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:42,1
    - Dst: likely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:43,1
    - Dst: unlikely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:46,1
    - Dst: unlikely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:49,1
    - Dst: printf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:50,1
    - Dst: abort
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:51,1
    - Dst: exit
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:52,1
    - Dst: unlikely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:63,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: worker_thread
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 0
    functionsReached:
    - exit
    - likely
    - unlikely
    - printf
    - abort
    - try_pop_many
    linkageType: ''
    returnType: void
    signature: void * worker_thread(void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: SEC
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: NSEC
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: timespec2dtime
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timespec2dtime(s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:82,1
    - Dst: getopt
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:89,1
    - Dst: atoi
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:92,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:94,1
    - Dst: exit
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:95,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:99,1
    - Dst: exit
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:100,1
    - Dst: pthread_create
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:104,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:105,1
    - Dst: clock_gettime
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:109,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:110,1
    - Dst: unlikely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:116,1
    - Dst: unlikely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:118,1
    - Dst: try_push
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:118,1
    - Dst: nanosleep
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:120,1
    - Dst: try_pop
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:122,1
    - Dst: unlikely
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:128,1
    - Dst: clock_gettime
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:129,1
    - Dst: timespec2dtime
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:130,1
    - Dst: try_push
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:136,1
    - Dst: sched_yield
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:136,1
    - Dst: pthread_join
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:139,1
    - Dst: fprintf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:140,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:144,1
    - Dst: printf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:150,1
    - Dst: printf
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:151,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (chksum == args.chksum)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    constantsTouched: []
    func_position:
      end: 155
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    functionUses: 6
    functionsReached:
    - atoi
    - fprintf
    - create_queue
    - getopt
    - destroy_queue
    - try_pop
    - clock_gettime
    - try_push
    - pthread_join
    - unlikely
    - assert
    - printf
    - pthread_create
    - nanosleep
    - exit
    - sched_yield
    - timespec2dtime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:15,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:17,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - queue
    - start
    - count
    argTypes:
    - SPMCQueue*
    - uintptr_t
    - size_t
    assertStmts:
    - condition: ((uintptr_t)values[i] == start + total + i)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (popped > 0)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 23
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 23
    functionName: expect_pop_many
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - try_pop_many
    - assert
    linkageType: ''
    returnType: void
    signature: void expect_pop_many(SPMCQueue* queue, uintptr_t start, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb_arg
    - value
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: record_pre_push
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void record_pre_push(void *cb_arg, void *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cb_arg
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: get_even_value
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      get_even_value(void *cb_arg, void *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:62,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:65,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:66,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:66,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:67,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:67,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:68,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (try_push_many(queue, values, 3) == 3)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many(queue, values, 0) == 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (queue != NULL)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: test_try_push_many_basic
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - create_queue
    - destroy_queue
    - assert
    - expect_pop_many
    - try_push_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_basic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:75,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:82,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:83,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:83,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:84,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:86,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:86,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:87,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (try_push_many(queue, first, 8) == 8)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (queue != NULL)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many(queue, second, 5) == 5)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: test_try_push_many_partial_refresh_and_wrap
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - create_queue
    - destroy_queue
    - assert
    - expect_pop_many
    - try_push_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_partial_refresh_and_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:94,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:98,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:99,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:99,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:100,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:100,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:101,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:102,1
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:102,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (try_push_many(queue, second, 3) == 1)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (queue != NULL)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many(queue, first, 3) == 3)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_pop_many(queue, second, 1) == 0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: test_try_push_many_partial_when_full
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - create_queue
    - destroy_queue
    - assert
    - expect_pop_many
    - try_pop_many
    - try_push_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_partial_when_full(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:109,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:114,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:115,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:115,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:116,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:118,1
    - Dst: try_push_many_pre
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:118,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:119,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:120,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:121,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:122,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:124,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (queue != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many(queue, first, 3) == 3)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many_pre(queue, second, 3, record_pre_push, &ctx) == 3)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.count == 3)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.seen[0] == 4)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.seen[1] == 5)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.seen[2] == 6)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: test_try_push_many_pre_wrap
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - create_queue
    - destroy_queue
    - try_push_many_pre
    - assert
    - expect_pop_many
    - try_push_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_pre_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:131,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:136,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:137,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:137,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:138,1
    - Dst: try_push_many_pre
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:138,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:139,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:140,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:142,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:143,1
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:143,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (queue != NULL)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many(queue, first, 3) == 3)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many_pre(queue, second, 3, record_pre_push, &ctx) == 1)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.count == 1)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.seen[0] == 4)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_pop_many(queue, second, 1) == 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: test_try_push_many_pre_partial_when_full
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - create_queue
    - destroy_queue
    - try_push_many_pre
    - assert
    - expect_pop_many
    - try_pop_many
    - try_push_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_pre_partial_when_full(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:150,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:158,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:159,1
    - Dst: try_push_many_kv
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:159,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:160,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:161,1
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:161,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:162,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:163,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:164,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (queue != NULL)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.count == 6)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many_kv(queue, keys, 6, get_even_value, &ctx) == 6)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_pop_many(queue, values, 8) == 3)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: ((uintptr_t)values[0] == 102)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: ((uintptr_t)values[1] == 104)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: ((uintptr_t)values[2] == 106)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: test_try_push_many_kv_filters_and_consumes_all
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - try_push_many_kv
    - create_queue
    - destroy_queue
    - assert
    - try_pop_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_kv_filters_and_consumes_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:171,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:176,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:177,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:177,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:178,1
    - Dst: try_push_many_kv
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:178,1
    - Dst: assert
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:179,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:180,1
    - Dst: expect_pop_many
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:181,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (try_push_many_kv(queue, keys, 3, get_even_value, &ctx) == 1)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (try_push_many(queue, first, 3) == 3)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (queue != NULL)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - condition: (ctx.count == 1)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: test_try_push_many_kv_stops_at_capacity
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 0
    functionsReached:
    - try_push_many_kv
    - create_queue
    - destroy_queue
    - assert
    - expect_pop_many
    - try_push_many
    linkageType: ''
    returnType: void
    signature: void test_try_push_many_kv_stops_at_capacity(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_try_push_many_basic
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:188,1
    - Dst: test_try_push_many_partial_refresh_and_wrap
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:189,1
    - Dst: test_try_push_many_partial_when_full
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:190,1
    - Dst: test_try_push_many_pre_wrap
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:191,1
    - Dst: test_try_push_many_pre_partial_when_full
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:192,1
    - Dst: test_try_push_many_kv_filters_and_consumes_all
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:193,1
    - Dst: test_try_push_many_kv_stops_at_capacity
      Src: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    functionUses: 6
    functionsReached:
    - test_try_push_many_kv_stops_at_capacity
    - test_try_push_many_partial_refresh_and_wrap
    - test_try_push_many_pre_wrap
    - test_try_push_many_kv_filters_and_consumes_all
    - test_try_push_many_basic
    - test_try_push_many_pre_partial_when_full
    - test_try_push_many_partial_when_full
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: CONCATENATE_DETAIL
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCATENATE_DETAIL(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: CONCATENATE
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONCATENATE(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: STRINGIFY
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: TOSTRING
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTRING(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTupleAndKeywords
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:35,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:41,1
    - Dst: create_queue
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:45,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:47,1
    - Dst: PyMem_New
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:51,1
    - Dst: PyMem_New
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:52,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:54,1
    - Dst: PyMem_Free
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:57,1
    - Dst: PyMem_Free
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:58,1
    - Dst: PyErr_NoMemory
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - self
    - args
    - kwds
    argTypes:
    - PyLossyQueue*
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: PyLossyQueue_init
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached:
    - create_queue
    - PyArg_ParseTupleAndKeywords
    - destroy_queue
    - PyErr_NoMemory
    - PyMem_Free
    - PyErr_SetString
    - PyMem_New
    linkageType: ''
    returnType: int
    signature: int PyLossyQueue_init(PyLossyQueue* self, PyObject* args, PyObject*
      kwds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:72,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:79,1
    - Dst: destroy_queue
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:82,1
    - Dst: PyMem_Free
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:84,1
    - Dst: PyMem_Free
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:85,1
    - Dst: Py_TYPE
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - PyLossyQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: PyLossyQueue_dealloc
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached:
    - Py_DECREF
    - destroy_queue
    - Py_TYPE
    - PyMem_Free
    - try_pop_many
    linkageType: ''
    returnType: void
    signature: void PyLossyQueue_dealloc(PyLossyQueue* self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:92,1
    - Dst: Py_INCREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:96,1
    - Dst: try_push
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:97,1
    - Dst: try_pop
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:99,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyLossyQueue*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: PyLossyQueue_put
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached:
    - Py_INCREF
    - PyArg_ParseTuple
    - Py_DECREF
    - try_pop
    - try_push
    linkageType: ''
    returnType: PyObject
    signature: PyObject * PyLossyQueue_put(PyLossyQueue* self, PyObject* args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PySequence_Fast
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:110,1
    - Dst: PySequence_Fast_GET_SIZE
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:119,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:121,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:125,1
    - Dst: PyErr_SetString
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:126,1
    - Dst: PySequence_Fast_GET_ITEM
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:132,1
    - Dst: Py_INCREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:134,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:137,1
    - Dst: try_push_many
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:140,1
    - Dst: try_pop_many
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:153,1
    - Dst: Py_DECREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - self
    - items_obj
    argTypes:
    - PyLossyQueue*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 159
    functionName: PyLossyQueue_put_many
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached:
    - Py_INCREF
    - PySequence_Fast_GET_ITEM
    - try_pop_many
    - PySequence_Fast
    - PySequence_Fast_GET_SIZE
    - PyErr_SetString
    - Py_DECREF
    - try_push_many
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      PyLossyQueue_put_many(PyLossyQueue* self, PyObject* items_obj)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_pop
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - PyLossyQueue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: PyLossyQueue_get
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached:
    - try_pop
    linkageType: ''
    returnType: PyObject
    signature: PyObject * PyLossyQueue_get(PyLossyQueue* self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyType_Ready
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:201,1
    - Dst: PyModule_Create
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:204,1
    - Dst: Py_INCREF
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:208,1
    - Dst: PyModule_AddObject
      Src: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: PY_INIT_FUNC
    functionSourceFile: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    functionUses: 0
    functionsReached:
    - Py_INCREF
    - PyType_Ready
    - PyModule_Create
    - PyModule_AddObject
    linkageType: ''
    returnType: PyMODINIT_FUNC
    signature: PyMODINIT_FUNC PY_INIT_FUNC(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: LE16_2_HOST
    functionSourceFile: /src/rtpproxy/makeann/makeann.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE16_2_HOST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: LE16_2_HOST
    functionSourceFile: /src/rtpproxy/makeann/makeann.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LE16_2_HOST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/rtpproxy/makeann/makeann.c:93,1
    - Dst: exit
      Src: /src/rtpproxy/makeann/makeann.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: usage
    functionSourceFile: /src/rtpproxy/makeann/makeann.c
    functionUses: 10
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: RTPP_MEMDEB_APP_INIT
      Src: /src/rtpproxy/makeann/makeann.c:126,1
    - Dst: getopt
      Src: /src/rtpproxy/makeann/makeann.c:131,1
    - Dst: atoi
      Src: /src/rtpproxy/makeann/makeann.c:134,1
    - Dst: errx
      Src: /src/rtpproxy/makeann/makeann.c:136,1
    - Dst: warnx
      Src: /src/rtpproxy/makeann/makeann.c:146,1
    - Dst: usage
      Src: /src/rtpproxy/makeann/makeann.c:153,1
    - Dst: usage
      Src: /src/rtpproxy/makeann/makeann.c:159,1
    - Dst: errx
      Src: /src/rtpproxy/makeann/makeann.c:162,1
    - Dst: G729_EINIT
      Src: /src/rtpproxy/makeann/makeann.c:170,1
    - Dst: errx
      Src: /src/rtpproxy/makeann/makeann.c:172,1
    - Dst: gsm_create
      Src: /src/rtpproxy/makeann/makeann.c:175,1
    - Dst: errx
      Src: /src/rtpproxy/makeann/makeann.c:177,1
    - Dst: g722_encoder_new
      Src: /src/rtpproxy/makeann/makeann.c:180,1
    - Dst: errx
      Src: /src/rtpproxy/makeann/makeann.c:182,1
    - Dst: fopen
      Src: /src/rtpproxy/makeann/makeann.c:185,1
    - Dst: err
      Src: /src/rtpproxy/makeann/makeann.c:187,1
    - Dst: snprintf
      Src: /src/rtpproxy/makeann/makeann.c:192,1
    - Dst: fopen
      Src: /src/rtpproxy/makeann/makeann.c:194,1
    - Dst: err
      Src: /src/rtpproxy/makeann/makeann.c:196,1
    - Dst: fread
      Src: /src/rtpproxy/makeann/makeann.c:201,1
    - Dst: feof
      Src: /src/rtpproxy/makeann/makeann.c:202,1
    - Dst: rewind
      Src: /src/rtpproxy/makeann/makeann.c:203,1
    - Dst: fread
      Src: /src/rtpproxy/makeann/makeann.c:204,1
    - Dst: LE16_2_HOST
      Src: /src/rtpproxy/makeann/makeann.c:210,1
    - Dst: SL2ULAW
      Src: /src/rtpproxy/makeann/makeann.c:219,1
    - Dst: SL2ALAW
      Src: /src/rtpproxy/makeann/makeann.c:224,1
    - Dst: G729_ENCODE
      Src: /src/rtpproxy/makeann/makeann.c:234,1
    - Dst: gsm_encode
      Src: /src/rtpproxy/makeann/makeann.c:243,1
    - Dst: g722_encode
      Src: /src/rtpproxy/makeann/makeann.c:251,1
    - Dst: abort
      Src: /src/rtpproxy/makeann/makeann.c:257,1
    - Dst: fwrite
      Src: /src/rtpproxy/makeann/makeann.c:259,1
    - Dst: errx
      Src: /src/rtpproxy/makeann/makeann.c:260,1
    - Dst: fclose
      Src: /src/rtpproxy/makeann/makeann.c:264,1
    - Dst: fclose
      Src: /src/rtpproxy/makeann/makeann.c:268,1
    - Dst: G729_ECLOSE
      Src: /src/rtpproxy/makeann/makeann.c:272,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 109
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/rtpproxy/makeann/makeann.c
    functionUses: 6
    functionsReached:
    - gsm_create
    - getopt
    - SL2ULAW
    - gsm_encode
    - g722_encoder_new
    - LE16_2_HOST
    - usage
    - warnx
    - SL2ALAW
    - fopen
    - errx
    - G729_EINIT
    - snprintf
    - fclose
    - fwrite
    - RTPP_MEMDEB_APP_INIT
    - abort
    - G729_ENCODE
    - atoi
    - G729_ECLOSE
    - err
    - fread
    - rewind
    - g722_encode
    - feof
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
Fuzzer filename: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- rtpp_cfile.h
- rtpp_pearson_perfect_fin.h
- rtpp_server.h
- re_stun.h
- rtpp_codeptr.h
- sys/time.h
- elperiodic.h
- hashes.h
- rtpp_acct_rtcp.h
- librtpproxy.h
- rtpp_log.h
- rtpp_record_adhoc.h
- rtpp_wi.h
- kvec.h
- rtpp_command_ctx.h
- float.h
- rtpp_analyzer_fin.h
- re_dns.h
- tls.h
- re_uri.h
- re_natbd.h
- core_hep.h
- Windows.h
- rtpp_port_table_fin.h
- rtpp_queue.h
- openssl/aes.h
- librtpproxy/packet_ext.h
- rtpp_command_stats.h
- immintrin.h
- rtpp_linker_set.h
- rtpp_pcount.h
- rtpp_timed.h
- config.h
- iostream
- stdint.h
- xsum_arch.h
- shlobj.h
- rtpp_record.h
- uthash.h
- g722_decoder.h
- tree.h
- re_httpauth.h
- prdic_band.h
- altivec.h
- rtpp_command_stream.h
- prdic_inst.h
- rtpp_notify.h
- commands/rpcpv1_query.h
- ../external/xxHash/xxhash.h
- CommonCrypto/CommonHMAC.h
- openssl/rand.h
- rtpp_network_io.h
- rtpp_stream_fin.h
- rtpp_bindaddrs_fin.h
- sys/param.h
- direct.h
- rtpp_autoglitch.h
- sa.h
- rtpp_wref.h
- commands/rpcpv1_record.h
- rtpp_command_args.h
- rtpp_log_stand.h
- machine/endian.h
- ws2tcpip.h
- pool.h
- emscripten.h
- sys/un.h
- rtpp_dtls_conn.h
- mach/mach_time.h
- commands/rpcpv1_play.h
- rtpp_module_if_static.h
- rtpp_module_cplane.h
- http.h
- rtpp_module_wthr.h
- rtpp_timeout_data.h
- byteswap.h
- rtmp.h
- stdarg.h
- re_mem.h
- rtpp_locking.h
- rtpp_sessinfo_fin.h
- sys/sysctl.h
- md5.h
- re_main.h
- sched.h
- rtpa_stats.h
- rtpp_socket_fin.h
- io.h
- rtpp_timed_fin.h
- ifaddrs.h
- bfcp.h
- fetch.h
- intrin.h
- rtpp_packet_ext.h
- ../cli/xsum_output.c
- rtpp_proc_wakeup.h
- windows.h
- wchar.h
- rtpp_module_acct.h
- sys/stat.h
- rtpp_coverage.h
- rtpp_modman_fin.h
- rtpp_stacktrace.h
- ../ucrt/stdlib.h
- sdp.h
- ucl.h
- rfz_utils.h
- re_sdp.h
- re_lock.h
- re_ice.h
- mum.h
- stdbool.h
- decoder.h
- getopt.h
- commands/rpcpv1_copy.h
- srtp_util.h
- libexecinfo/stacktraverse.h
- sanity_test_vectors.h
- limits.h
- stdatomic.h
- turnc.h
- map
- assert.h
- dns.h
- openssl/hmac.h
- rtpp_weakref.h
- rtpp_modman.h
- syslog.h
- re_sipevent.h
- re_list.h
- srtp.h
- rtpp_sessinfo.h
- ../include/stdlib.h
- openssl/x509v3.h
- execinfo.h
- hep_api.h
- sort.hh
- errno.h
- rtpp_wi_pkt.h
- advanced/pproc_manager.h
- openssl/md5.h
- ../cli/xsum_os_specific.c
- re_telev.h
- linux/types.h
- rtpp_session.h
- rtpp_time.h
- rtpp_packetops.h
- rtpp_sbuf.h
- rtpp_wi_private.h
- rtpp_bindargs.h
- rtpp_command.h
- commands/rpcpv1_ul_subc_set.h
- rtpp_pcnt_strm_fin.h
- execinfo_testfunc.h
- rtpp_math.h
- rtpp_log_obj.h
- rtpp_endian.h
- ../cli/xsum_os_specific.h
- openssl/err.h
- openssl/crypto.h
- stdio.h
- TargetConditionals.h
- rtpp_genuid.h
- openssl/srtp.h
- rtpp_record_private.h
- g729_compat.h
- commands/rpcpv1_stats.h
- ../cli/xsum_output.h
- re_websock.h
- rtpp_hash_table.h
- rtpp_bindaddr.h
- rtpp_hash_table_fin.h
- session.h
- g722_encoder.h
- rtpp_wref_fin.h
- time.h
- prdic_fd.h
- rtpp_pcnts_strm.h
- sys/system_properties.h
- grp.h
- threading.h
- benchHash.h
- rtpp_refcnt.h
- srtp2/srtp.h
- sys/epoll.h
- rtpp_netio_async.h
- eaud_crypto.h
- rtpp_server_fin.h
- rtpp_defines.h
- re_sha.h
- rtpp_cfg.h
- rtpp_command_sub.h
- openssl/ssl.h
- rtpp_analyzer.h
- rtpp_module_if_fin.h
- arpa/inet.h
- rtpp_genuid_fin.h
- rtpp_refproxy_fin.h
- mqueue.h
- rtpp_module_if.h
- rfz_command.h
- process.h
- prdic_sign_ctx.h
- rtpp_record_fin.h
- commands/rpcpv1_ul_subc_copy.h
- sys/utime.h
- commands/rpcpv1_ul.h
- xsum_os_specific.h
- rtpp_netaddr_fin.h
- re_dbg.h
- sys/select.h
- re_hmac.h
- re_mbuf.h
- lua.h
- prdic_time.h
- rtpp_acct_pipe.h
- rtpp_mallocs.h
- rtp.h
- rtpp_str.h
- rtpp_acct.h
- netinet/udp.h
- rtpp_proc_util.h
- rtpp_re.h
- sys/resource.h
- rtpp_threads.h
- re_hash.h
- rtpp_pipe_fin.h
- fuzz_standalone.h
- re_tcp.h
- sip.h
- prdic_sign_impl.h
- re_mqueue.h
- commands/rpcpv1_norecord.h
- ucl_internal.h
- xsum_output.h
- hepconnector.h
- bcg729/decoder.h
- lualib.h
- openssl/sha.h
- re_aes.h
- re_bfcp.h
- re_sip.h
- utime.h
- stun.h
- bcg729/encoder.h
- glob.h
- ice.h
- prdic_recfilter.h
- rtpp_memdeb_stats.h
- xsum_sanity_check.c
- re_tmr.h
- rtpp_socket.h
- dlfcn.h
- rtpp_types.h
- rtpp_scan_adhoc.h
- re_msg.h
- rtpp_pcnt_strm.h
- gsm.h
- re_udp.h
- re_types.h
- ../xxh_x86dispatch.h
- prdic_timespecops.h
- arm_sve.h
- winsock2.h
- CommonCrypto/CommonCryptor.h
- eaud_oformats.h
- fcntl.h
- advanced/packet_processor.h
- rtpp_pearson.h
- rtpp_ringbuf.h
- prdic_types.h
- rtpp_tnotify_tgt.h
- netinet/ip.h
- sys/uio.h
- rtpp_list.h
- SPMCQueue.h
- siplog.h
- Python.h
- librtpp_main.h
- threads.h
- ../mqueue.h
- rtpp_log_obj_fin.h
- xsum_os_specific.c
- rtpp_proc_wakeup_fin.h
- eaud_pcap.h
- rtp_analyze.h
- ../xxhash.h
- xsum_config.h
- rtpp_nofile.h
- rtpp_wi_data.h
- rtcp.h
- execinfo_testfunc1.h
- avxintrin.h
- rtpp_netaddr.h
- resolv.h
- inttypes.h
- rtpp_pearson_perfect.h
- rtpp_command_rcache_fin.h
- endian.h
- rtpp_ttl.h
- poll.h
- re_tls.h
- sys/endian.h
- rtpp_runcreds.h
- g729_encoder.h
- rtpp_refcnt_fin.h
- re_crc32.h
- smmintrin.h
- re_rtmp.h
- rtpp_dtls.h
- re_md5.h
- math.h
- re_odict.h
- sndfile.h
- rtpp_command_parse.h
- linux/rtnetlink.h
- ucl_chartable.h
- prdic_math.h
- rtpp_pcount_fin.h
- rtpp_command_ecodes.h
- rtpp_ssrc.h
- openssl/evp.h
- err.h
- rtpp_module.h
- format_au.h
- libgen.h
- g711.h
- eaud_adhoc.h
- config_pp.h
- unistd.h
- sys/utsname.h
- memory
- re_mod.h
- pthread.h
- librtpproxy/packetport.h
- utstring.h
- rtpp_stats_fin.h
- malloc.h
- dummy.h
- sys/types.h
- rtpp_port_table.h
- tuple
- rtpp_ttl_fin.h
- lsxintrin.h
- rtp_packet.h
- rtpp_wi_sgnl.h
- execinfo_internal.h
- ../mod_internal.h
- winsock.h
- BaseTsd.h
- sys/sockio.h
- avx512fintrin.h
- re_turn.h
- openssl/x509.h
- net/route.h
- rtpp_proc_servers.h
- ../cli/xsum_arch.h
- utlist.h
- rtpp_command_async.h
- machine/cpufunc.h
- re_sa.h
- rtpp_timed_task_fin.h
- commands/rpcpv1_ver.h
- rtpp_version.h
- rtpp_proc_servers_fin.h
- rtpp_proc.h
- strings.h
- ctype.h
- rtpp_scan_pcap.h
- string
- mmintrin.h
- rtpp_command_rcache.h
- _acct_rtcp_hep_config.h
- rtpp_controlfd.h
- stdlib.h
- lauxlib.h
- curl/curl.h
- rtpp_util.h
- arpa/nameser.h
- re_jbuf.h
- prdic_pfd.h
- rfz_chunk.h
- re_sys.h
- re_http.h
- netinet/tcp.h
- xsum_bench.c
- rtpp_dtls_util.h
- rtpp_stats.h
- rtpp_memdeb.h
- prdic_main_pfd.h
- netinet/in.h
- commands/rpcpv1_ul_subc.h
- ice/ice.h
- zlib.h
- arm_neon.h
- main.h
- rtpp_wi_apis.h
- re_sipreg.h
- rtpp_bindaddrs.h
- rtpp_refproxy.h
- ieeefp.h
- SystemConfiguration/SystemConfiguration.h
- set
- libunwind.h
- stddef.h
- benchfn.h
- netinet/ip6.h
- prdic_shmtrig.h
- signal.h
- commands/rpcpv1_delete.h
- sys/rtprio.h
- rtpp_timed_task.h
- linux/netlink.h
- rtpp_loader.h
- xsum_bench.h
- rtpp_memdeb_internal.h
- xsum_output.c
- stacktraverse.h
- systemd/sd-daemon.h
- re_rtp.h
- rtpp_syslog_async.h
- rtpp_xxHash.h
- rtpp_rw_lock.h
- winioctl.h
- rtpp_proc_async.h
- rtpp_weakref_fin.h
- openssl/rsa.h
- rtp_resizer.h
- prdic_main_fd.h
- prdic_sign.h
- timefn.h
- srtp/srtp.h
- string.h
- rtpp_rw_lock_fin.h
- rtpp_packetport.h
- eaud_substreams.h
- rtpp_network.h
- rtpp_ip_chksum.h
- rtpp_pipe.h
- rtpp_pcache.h
- sys/mman.h
- rtpp_packetport_fin.h
- sipsess.h
- rtcp2json.h
- rtpp_command_private.h
- net/if.h
- packetport.h
- xsum_sanity_check.h
- regex.h
- re_base64.h
- rtpp_ringbuf_fin.h
- sipevent.h
- re_fmt.h
- semaphore.h
- re_srtp.h
- ucl++.h
- re_sipsess.h
- prdic_main.h
- libkern/OSByteOrder.h
- rtp_info.h
- rtpp_proc_ttl.h
- algorithm
- avx2intrin.h
- sys/event.h
- s390intrin.h
- rtp_packet_priv.h
- re_json.h
- rtpp_debug.h
- rtpp_stream.h
- netdb.h
- rtpp_command_reply_fin.h
- rtpp_command_reply.h
- rtpp_tnotify_set.h
- xxhash.h
- sys/socket.h
- khash.h
- vector
- openssl/bn.h
- rtpp_glitch.h
- iphlpapi.h
- mod_internal.h
- prdic_procchain.h
- g729_decoder.h
- bhDisplay.h
- rtpp_ucl.h
- lua_ucl.h
- emmintrin.h
- ucl_hash.h
- sys/ioctl.h
- rtpp_epoll.h
- re_conf.h
- libexecinfo/execinfo.h
- re_net.h
- ../dns.h
- pwd.h
- lmaccess.h
report: name
sources:
- function_names:
  - rtpp_log_obj_write_early
  - rtpp_log_obj_ewrite_early
  - parse_modules
  - main
  - conf_helper_mapper
  source_file: /src/rtpproxy/libucl/libucl_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/libre/rtpp_re.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_INET_NTOP
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/rtpproxy/libre/rtpp_re.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET_PTON
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/rtpproxy/libre/rtpp_re.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INET6
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/rtpproxy/libre/rtpp_re.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mem_alloc
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/libre/rtpp_re.h
      type_or_value: mem_zalloc
    structs: []
    typedefs:
    - item_type: typedef
      name: (mem_destroy_h)(void *data)
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/rtpproxy/libre/rtpp_re.h
      type: void
    union: []
- function_names:
  - re_dbg_printf
  - udp_register_helper
  - udp_local_get
  - S
  - main
  source_file: /src/rtpproxy/libre/libre_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_re_dbg_level
  - dbg_printf
  source_file: /src/rtpproxy/libre/rtpp_re_dbg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/rtpproxy/libre/rtpp_re_dbg.c
      type_or_value: '"dbg"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/libre/rtpp_re_dbg.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ABSTRACT_FUNC_STUB
  source_file: /src/rtpproxy/libre/rtpp_re_stub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: turnc_chan_h
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/rtpproxy/libre/rtpp_re_stub.c
      type: void
    - item_type: typedef
      name: tmr_h
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/rtpproxy/libre/rtpp_re_stub.c
      type: void
    - item_type: typedef
      name: udp_recv_h
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/rtpproxy/libre/rtpp_re_stub.c
      type: void
    - item_type: typedef
      name: tcp_estab_h
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/rtpproxy/libre/rtpp_re_stub.c
      type: void
    - item_type: typedef
      name: tcp_recv_h
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/rtpproxy/libre/rtpp_re_stub.c
      type: void
    - item_type: typedef
      name: tcp_close_h
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/rtpproxy/libre/rtpp_re_stub.c
      type: void
    union: []
- function_names:
  - tmr_init
  - tmr_jiffies
  - tmr_cancel
  - mem_realloc
  - mem_zalloc
  - D2P
  - mem_deref
  - mem_ref
  source_file: /src/rtpproxy/libre/rtpp_re.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: data[0]
        type: long long
      item_type: struct
      name: re_mem
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/rtpproxy/libre/rtpp_re.c
    typedefs:
    - item_type: typedef
      name: (mem_destroy_h)(void *data)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/rtpproxy/libre/rtpp_re.c
      type: void
    union: []
- function_names:
  - A2PL
  - S2PL
  - PL4P
  - transp_resolve
  - rtpp_cand_decode
  source_file: /src/rtpproxy/libre/rtpp_re_icesdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/libre/rtpp_re_icesdp.c
      type_or_value: '"icesdp"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rtpproxy/libre/rtpp_re_icesdp.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - re_dbg_printf
  - udp_register_helper
  - rtpp2re_sa
  - udp_send
  - iscompleted
  - ila_iscompleted
  - rtpp_ice_lite_worker
  - ice_lite_data_dtor
  - udp_local_get
  - ice_lite_data_ctor
  - ila_set_rauth
  - ice_lite_candidate
  - cand_printf_handler
  - APPEND
  - ice_lite_start
  - ice_lite_activate
  - rtpp_ice_lite_handle_command
  - ril_ice_taste
  - rtpp_ice_lite_enqueue
  - rtpp_ice_lite_rtcp_dmx
  - rtpp_ice_lite_rtcp_mx
  - rtpp_ice_lite_ctor
  - rtpp_ice_lite_dtor
  source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
  types:
    enum:
    - enumerators:
      - name: RIL_CMD_A
      - name: RIL_CMD_C
      - name: RIL_CMD_S
      - name: RIL_CMD_D
      - name: RIL_CMD_U
      item_type: enum
      name: ril_cmd
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    preproc_defs:
    - item_type: preproc_def
      name: ICE_COMPID_RTP
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ICE_COMPID_RTCP
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ICE_LUFRAG_LEN
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ICE_LPWD_LEN
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
      type_or_value: '24'
    structs:
    - fields:
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_module_priv
      pos:
        line_end: 92
        line_start: 90
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    - fields:
      - name: laddr
        type: struct sa
      - name: '*raddr'
        type: struct rtpp_netaddr
      - name: '*sender'
        type: struct sthread_args
      - name: '*strmp_in'
        type: struct rtpp_stream
      - name: '*rh'
        type: udp_helper_recv_h
      - name: '*rh_arg'
        type: void
      item_type: struct
      name: ila_sock
      pos:
        line_end: 101
        line_start: 94
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    - fields:
      - name: '*strmp_in'
        type: struct rtpp_stream
      - name: '*strmp_out'
        type: struct rtpp_stream
      - name: '*unreg'
        type: struct pproc_manager
      item_type: struct
      name: mux_demux_ctx
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: state_lock
        type: pthread_mutex_t
      - name: '*icem'
        type: struct icem
      - name: '*sock'
        type: struct ila_sock
      - name: '*mb'
        type: struct mbuf
      - name: rtcp_dmx_ctx
        type: struct mux_demux_ctx
      - name: rtcp_mx_ctx
        type: struct mux_demux_ctx
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: ice_lite_agent_cfg
      pos:
        line_end: 119
        line_start: 109
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    - fields:
      - name: '*pkt'
        type: struct rtp_packet
      - name: '*ila_c'
        type: struct ice_lite_agent_cfg
      - name: '*strmp_in'
        type: struct rtpp_stream
      item_type: struct
      name: wipkt
      pos:
        line_end: 162
        line_start: 158
        source_file: /src/rtpproxy/modules/ice_lite/rtpp_ice_lite.c
    typedefs: []
    union: []
- function_names:
  - rtpp_catch_dtmf_edata_ctor
  - rtpp_catch_dtmf_worker
  - catch_dtmf_data_ctor
  - rtpp_catch_dtmf_handle_command
  - rtp_packet_is_dtmf
  - rtpp_catch_dtmf_enqueue
  - rtpp_catch_dtmf_ctor
  - rtpp_catch_dtmf_dtor
  source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EINFO_HST_DPTH
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RTPP_MAX_NOTIFY_BUF
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
      type_or_value: '512'
    structs:
    - fields:
      - name: '*notifier'
        type: struct rtpp_notify
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_module_priv
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    - fields:
      - name: pending
        type: int
      - name: digit
        type: int
      - name: ts
        type: uint32_t
      - name: duration
        type: uint16_t
      item_type: struct
      name: catch_dtmf_einfo
      pos:
        line_end: 80
        line_start: 75
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: hst[EINFO_HST_DPTH]
        type: struct catch_dtmf_einfo
      - name: hst_next
        type: int
      - name: side
        type: enum rtpp_stream_side
      item_type: struct
      name: catch_dtmf_edata
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*edata'
        type: struct catch_dtmf_edata
      - name: '*rtdp'
        type: struct rtpp_timeout_data
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: catch_dtmf_stream_cfg
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    - fields:
      - name: '*pkt'
        type: struct rtp_packet
      - name: '*edata'
        type: struct catch_dtmf_edata
      - name: '*rtdp'
        type: struct rtpp_timeout_data
      item_type: struct
      name: wipkt
      pos:
        line_end: 158
        line_start: 154
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    - fields:
      - name: event
        type: unsigned int
      - name: duration
        type: unsigned int
      item_type: struct
      name: rtp_dtmf_event
      pos:
        line_end: 172
        line_start: 160
        source_file: /src/rtpproxy/modules/catch_dtmf/rtpp_catch_dtmf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FP_DIGEST_ALG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type_or_value: '"SHA-256"'
    - item_type: preproc_def
      name: FP_DIGEST_ALG_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type_or_value: (sizeof(FP_DIGEST_ALG) - 1)
    - item_type: preproc_def
      name: FP_DIGEST_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type_or_value: '32'
    - item_type: preproc_def
      name: FP_FINGERPRINT_STR_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type_or_value: ((FP_DIGEST_LEN * 2) + (FP_DIGEST_LEN - 1))
    - item_type: preproc_def
      name: FP_DIGEST_STR_LEN
      pos:
        line_end: 34
        line_start: 32
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type_or_value: "((sizeof(FP_DIGEST_ALG) - 1) + 1 + \\\n  FP_FINGERPRINT_STR_LEN)"
    - item_type: preproc_def
      name: FP_DIGEST_STRBUF_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type_or_value: (FP_DIGEST_STR_LEN + 1)
    structs: []
    typedefs:
    - item_type: typedef
      name: X509
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.h
      type: x509_st
    union: []
- function_names:
  - rtpp_dtls_dtor
  - rtpp_dtls_ctor
  - rtpp_dtls_newconn
  - dtls_rand_u32
  - verify_trust_all
  - tls_set_verify_client
  - tls_generate_cert
  - tls_set_selfsigned_ec
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENSSL_VERSION_MAJOR
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
      type_or_value: '1'
    structs:
    - fields:
      - name: pub
        type: struct rtpp_dtls
      - name: '*cfsp'
        type: struct rtpp_cfg
      - name: '*mself'
        type: struct rtpp_minfo
      - name: '*ctx'
        type: SSL_CTX
      - name: '*cert'
        type: X509
      - name: fingerprint[FP_DIGEST_STRBUF_LEN]
        type: char
      item_type: struct
      name: rtpp_dtls_priv
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.c
    typedefs: []
    union: []
- function_names:
  - RES_HERE
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
  types:
    enum:
    - enumerators:
      - name: RTPP_DTLS_MODERR
        value: '-1'
      - name: RTPP_DTLS_PASSIVE
        value: '2'
      - name: RTPP_DTLS_ACTIVE
        value: '1'
      - name: RTPP_DTLS_ACTPASS
        value: '0'
      item_type: enum
      name: rtpp_dtls_mode
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
    preproc_defs: []
    structs:
    - fields:
      - name: peer_mode
        type: enum rtpp_dtls_mode
      - name: algorithm
        type: rtpp_str_const_t
      - name: '*fingerprint'
        type: rtpp_str_t
      - name: '*ssrc'
        type: rtpp_str_t
      - name: alg_buf[FP_DIGEST_ALG_LEN]
        type: char
      item_type: struct
      name: rdc_peer_spec
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
    - fields:
      - name: v
        type: int
      - name: loc
        type: here_t
      item_type: struct
      name: res_loc
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
    typedefs:
    - item_type: typedef
      name: SSL_CTX
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.h
      type: void
    union: []
- function_names:
  - rtpp_dtls_gw_worker
  - dtls_gw_data_ctor
  - rtpp_dtls_gw_setup_sender
  - rtpp_dtls_gw_handle_command
  - rtpp_dtls_gw_taste_encrypted
  - rtpp_dtls_gw_taste_plain
  - rtpp_dtls_gw_enqueue
  - rtpp_dtls_gw_ctor
  - rtpp_dtls_gw_dtor
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
  types:
    enum:
    - enumerators:
      - name: DTLS_IN
      - name: RTP_OUT
      - name: SRTP_IN
      item_type: enum
      name: rtpp_dtls_dir
      pos:
        line_end: 98
        line_start: 96
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    - enumerators:
      - name: RDG_CMD_A
      - name: RDG_CMD_D
      - name: RDG_CMD_P
      - name: RDG_CMD_S
      - name: RDG_CMD_U
      item_type: enum
      name: rdg_cmd
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*dtls_ctx'
        type: struct rtpp_dtls
      - name: '*cfsp'
        type: struct rtpp_cfg
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_module_priv
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*dtls_conn'
        type: struct rtpp_dtls_conn
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: dtls_gw_stream_cfg
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    - fields:
      - name: direction
        type: enum rtpp_dtls_dir
      - name: '*dtls_conn'
        type: struct rtpp_dtls_conn
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_dtls_gw_aux
      pos:
        line_end: 104
        line_start: 100
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    - fields:
      - name: pktx
        type: struct pkt_proc_ctx
      - name: edata
        type: struct rtpp_dtls_gw_aux
      item_type: struct
      name: wipkt
      pos:
        line_end: 109
        line_start: 106
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_gw.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*fingerprint'
        type: char
      item_type: struct
      name: rtpp_dtls
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls.h
    typedefs: []
    union: []
- function_names:
  - rtpp_dtls_conn_dtor
  - rtpp_dtls_conn_ctor
  - rtpp_dtls_conn_pickmode
  - rtpp_dtls_conn_setmode
  - setup_srtp_stream
  - rtpp_dtls_conn_dtls_recv
  - SRTP_PROTECT
  - SRTCP_PROTECT
  - SRTP_PROTECT
  - SRTCP_PROTECT
  - rtpp_dtls_conn_rtp_send
  - rtpp_dtls_conn_srtp_recv
  - bio_write
  - bio_ctrl
  - bio_create
  - bio_destroy
  - bio_method_udp
  - tls_print_error
  - tls_flush_error
  - tls_accept
  - rtpp_dtls_conn_timeout
  - check_timer
  - tls_connect
  - mem_secclean
  - tls_srtp_keyinfo
  - tls_peer_fingerprint
  - rtpp_dtls_conn_godead
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
  types:
    enum:
    - enumerators:
      - name: RDC_INIT
      - name: RDC_DEAD
      - name: RDC_UP
      - name: RDC_CONNECTING
      item_type: enum
      name: rdc_state
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    - enumerators:
      - name: SRTP_AES_CM_128_HMAC_SHA1_32
      - name: SRTP_AES_256_CM_HMAC_SHA1_32
      - name: SRTP_AES_CM_128_HMAC_SHA1_80
      - name: SRTP_F8_128_HMAC_SHA1_80
      - name: SRTP_F8_128_HMAC_SHA1_32
      - name: SRTP_AES_256_CM_HMAC_SHA1_80
      - name: SRTP_AES_128_GCM
      - name: SRTP_AES_256_GCM
      item_type: enum
      name: srtp_suite
      pos:
        line_end: 86
        line_start: 77
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*can_name'
        type: char
      - name: key_size
        type: int
      - name: iv_size
        type: int
      - name: tag_size
        type: int
      - name: sec_serv
        type: srtp_sec_serv_t
      - name: set_srtp_policy
        type: set_srtp_policy_t
      item_type: struct
      name: srtp_crypto_suite
      pos:
        line_end: 97
        line_start: 90
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    - fields:
      - name: pub
        type: struct rtpp_dtls_conn
      - name: dtls_strm_id
        type: uint64_t
      - name: '*timed_cf'
        type: struct rtpp_timed
      - name: '*streams_wrt'
        type: struct rtpp_weakref
      - name: state_lock
        type: pthread_mutex_t
      - name: state
        type: enum rdc_state
      - name: mode
        type: enum rtpp_dtls_mode
      - name: '*ssl_ctx'
        type: SSL
      - name: srtp_ctx_out
        type: srtp_t
      - name: srtp_ctx_in
        type: srtp_t
      - name: '*biomet'
        type: BIO_METHOD
      - name: '*sbio_out'
        type: BIO
      - name: '*sbio_in'
        type: BIO
      - name: fingerprint[FP_DIGEST_STRBUF_LEN]
        type: char
      - name: ssrc
        type: uint32_t
      - name: '*ttp'
        type: struct rtpp_timed_task
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_dtls_conn_priv
      pos:
        line_end: 150
        line_start: 132
        source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_conn.c
    typedefs: []
    union: []
- function_names:
  - rtpp_dtls_fp_gen
  source_file: /src/rtpproxy/modules/dtls_gw/rtpp_dtls_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/badmod/rtpp_badmod1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/badmod/rtpp_badmod3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/badmod/rtpp_badmod2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/badmod/rtpp_badmod4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - member_sdes
  - rtp_read_sdes
  - RSW_REST
  - rtcp2json
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: t
        type: rtcp_sdes_type_t
      - name: '*name'
        type: char
      item_type: struct
      name: "map[] = {\n    {RTCP_SDES_END,    \"end\"},\n    {RTCP_SDES_CNAME,  \"CNAME\"},\n
        \   {RTCP_SDES_NAME,   \"NAME\"},\n    {RTCP_SDES_EMAIL,  \"EMAIL\"},\n    {RTCP_SDES_PHONE,
        \ \"PHONE\"},\n    {RTCP_SDES_LOC,    \"LOC\"},\n    {RTCP_SDES_TOOL,   \"TOOL\"},\n
        \   {RTCP_SDES_NOTE,   \"NOTE\"},\n    {RTCP_SDES_PRIV,   \"PRIV\"},\n    {11,
        \              \"SOURCE\"},\n    {0,0}\n  }"
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
    typedefs:
    - item_type: typedef
      name: member_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.c
      type: uint32_t
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/_acct_rtcp_hep_config.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_acct_rtcp_hep_ctor
  - rtpp_acct_rtcp_hep_config
  - rtpp_acct_rtcp_hep_dtor
  - rtpp_acct_rtcp_hep_do
  - mconf_dtor
  - rtpp_acct_rtcp_hep_get_mconf
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sbp'
        type: struct rtpp_sbuf
      - name: '*ctx'
        type: struct hep_ctx
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_module_priv
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    - fields:
      - name: ctx
        type: struct hep_ctx
      - name: pub
        type: struct rtpp_module_conf
      item_type: struct
      name: rtpp_module_conf_pvt
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_acct_rtcp_hep.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - conf_set_capt_host
  - conf_set_capt_port
  - conf_set_capt_ptype
  - conf_set_capt_id
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtpp_arh_conf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTCP_GET_LOST
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTP_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RTP_SEQ_MOD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
      type_or_value: (1<<16)
    - item_type: preproc_def
      name: RTP_MAX_SDES
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
      type_or_value: '255      '
    - item_type: preproc_def
      name: RTCP_VALID_MASK
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
      type_or_value: (0xc000 | 0x2000 | 0xfe)
    - item_type: preproc_def
      name: RTCP_VALID_VALUE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
      type_or_value: ((RTP_VERSION << 14) | RTCP_SR)
    structs:
    - fields:
      - name: pt
        type: unsigned int
      - name: length
        type: unsigned int
      item_type: struct
      name: rtcp_common_t
      pos:
        line_end: 80
        line_start: 68
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
    - fields:
      - name: ssrc
        type: uint32_t
      - name: fraction
        type: unsigned int
      - name: lost_sb
        type: unsigned int
      - name: lost_b2
        type: unsigned int
      - name: lost_b1
        type: unsigned int
      - name: lost_b0
        type: unsigned int
      - name: last_seq
        type: uint32_t
      - name: jitter
        type: uint32_t
      - name: lsr
        type: uint32_t
      - name: dlsr
        type: uint32_t
      item_type: struct
      name: rtcp_rr_t
      pos:
        line_end: 103
        line_start: 92
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
    - fields:
      - name: type
        type: uint8_t
      - name: length
        type: uint8_t
      - name: data[1]
        type: char
      item_type: struct
      name: rtcp_sdes_item_t
      pos:
        line_end: 114
        line_start: 110
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
    - fields:
      - name: common
        type: rtcp_common_t
      - name: r
        type: "union {\n        /* sender report (SR) */\n        struct {\n            uint32_t
          ssrc;     /* sender generating this report */\n            uint32_t ntp_sec;
          \ /* NTP timestamp */\n            uint32_t ntp_frac;\n            uint32_t
          rtp_ts;   /* RTP timestamp */\n            uint32_t psent;    /* packets
          sent */\n            uint32_t osent;    /* octets sent */\n            rtcp_rr_t
          rr[1];  /* variable-length list */\n        } sr;\n\n        /* reception
          report (RR) */\n        struct {\n            uint32_t ssrc;     /* receiver
          generating this report */\n            rtcp_rr_t rr[1];  /* variable-length
          list */\n        } rr;\n\n        /* source description (SDES) */\n        struct
          rtcp_sdes {\n            uint32_t src;      /* first SSRC/CSRC */\n            rtcp_sdes_item_t
          item[1]; /* list of SDES items */\n        } sdes;\n\n        /* BYE */\n
          \       struct {\n            uint32_t src[1];   /* list of sources */\n
          \           /* can't express trailing text for reason */\n        } bye;\n
          \   }"
      item_type: struct
      name: rtcp_t
      pos:
        line_end: 151
        line_start: 119
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
    - fields:
      - name: src
        type: uint32_t
      - name: item[1]
        type: rtcp_sdes_item_t
      item_type: struct
      name: rtcp_sdes
      pos:
        line_end: 143
        line_start: 140
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
    typedefs:
    - item_type: typedef
      name: rtcp_sdes_t
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp.h
      type: rtcp_sdes
    union: []
- function_names: []
  source_file: /src/rtpproxy/modules/acct_rtcp_hep/rtcp2json.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_acct_get_nid
  - STR_INIT
  - rtpp_acct_csv_open
  - rtpp_acct_csv_ctor
  - rtpp_acct_csv_dtor
  - ES_IF_NULL
  - TS2RT
  - format_ssrc
  - format_netaddr
  - FMT_BOOL
  - rtpp_acct_csv_do
  - rtpp_acct_csv_lockf
  - rtpp_acct_csv_unlockf
  source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSRC_STRLEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '11'
    - item_type: preproc_def
      name: RTPP_METRICS_VERSION
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"1.2"'
    - item_type: preproc_def
      name: HNAME_REFRESH_IVAL
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '1.0'
    - item_type: preproc_def
      name: SFX_INO
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"_ino"'
    - item_type: preproc_def
      name: SFX_INA
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"_ina"'
    - item_type: preproc_def
      name: SFX_O
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"_o"'
    - item_type: preproc_def
      name: SFX_A
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"_a"'
    - item_type: preproc_def
      name: PFX_GEN
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rtpp_"'
    - item_type: preproc_def
      name: RVER_NM
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rec_ver"'
    - item_type: preproc_def
      name: NID_NM
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN "node_id"
    - item_type: preproc_def
      name: PID_NM
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN "pid"
    - item_type: preproc_def
      name: SID_NM
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"sess_uid"'
    - item_type: preproc_def
      name: CID_NM
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"call_id"'
    - item_type: preproc_def
      name: PT_NAME
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rtpa_pt_last"'
    - item_type: preproc_def
      name: PT_NM_O
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PT_NAME SFX_INO
    - item_type: preproc_def
      name: PT_NM_A
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PT_NAME SFX_INA
    - item_type: preproc_def
      name: PFX_RTP
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rtp_"'
    - item_type: preproc_def
      name: PFX_RTCP
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rtcp_"'
    - item_type: preproc_def
      name: RM_IP_NM
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rmt_ip"'
    - item_type: preproc_def
      name: RM_PT_NM
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"rmt_pt"'
    - item_type: preproc_def
      name: R_RM_NM_O
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTP RM_IP_NM SFX_O
    - item_type: preproc_def
      name: R_RM_NM_A
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTP RM_IP_NM SFX_A
    - item_type: preproc_def
      name: C_RM_NM_O
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTCP RM_IP_NM SFX_O
    - item_type: preproc_def
      name: C_RM_NM_A
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTCP RM_IP_NM SFX_A
    - item_type: preproc_def
      name: R_RM_PT_NM_O
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTP RM_PT_NM SFX_O
    - item_type: preproc_def
      name: R_RM_PT_NM_A
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTP RM_PT_NM SFX_A
    - item_type: preproc_def
      name: C_RM_PT_NM_O
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTCP RM_PT_NM SFX_O
    - item_type: preproc_def
      name: C_RM_PT_NM_A
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN PFX_RTCP RM_PT_NM SFX_A
    - item_type: preproc_def
      name: HLD_CNT_NM
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"hld_cnt"'
    - item_type: preproc_def
      name: HLD_STS_NM
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"hld_sts"'
    - item_type: preproc_def
      name: HLD_CNT_NM_O
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN HLD_CNT_NM SFX_O
    - item_type: preproc_def
      name: HLD_CNT_NM_A
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN HLD_CNT_NM SFX_A
    - item_type: preproc_def
      name: HLD_STS_NM_O
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN HLD_STS_NM SFX_O
    - item_type: preproc_def
      name: HLD_STS_NM_A
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: PFX_GEN HLD_STS_NM SFX_A
    - item_type: preproc_def
      name: RVER_FMT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: NID_FMT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: PID_FMT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%d"'
    - item_type: preproc_def
      name: SID_FMT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%" PRId64'
    - item_type: preproc_def
      name: PT_FMT
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%d"'
    - item_type: preproc_def
      name: LSSRC_FMT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: SNCHG_FMT
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%lu"'
    - item_type: preproc_def
      name: RM_FMT
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: SEP
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '","'
    - item_type: preproc_def
      name: HLD_STS_FMT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: HLD_CNT_FMT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
      type_or_value: '"%d"'
    structs:
    - fields:
      - name: rtp_adr[MAX_AP_STRBUF]
        type: char
      - name: rtcp_adr[MAX_AP_STRBUF]
        type: char
      - name: ssrc[SSRC_STRLEN]
        type: char
      item_type: struct
      name: rtpp_mod_acct_face
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    - fields:
      - name: fd
        type: int
      - name: pid
        type: pid_t
      - name: stt
        type: struct stat
      - name: fname[MAXPATHLEN + 1]
        type: char
      - name: next_hupd_ts
        type: double
      - name: node_id[_POSIX_HOST_NAME_MAX + 1]
        type: char
      - name: o
        type: struct rtpp_mod_acct_face
      - name: a
        type: struct rtpp_mod_acct_face
      - name: '*sbuf'
        type: struct rtpp_sbuf
      - name: '*mself'
        type: struct rtpp_minfo
      item_type: struct
      name: rtpp_module_priv
      pos:
        line_end: 84
        line_start: 73
        source_file: /src/rtpproxy/modules/acct_csv/rtpp_acct_csv.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_genuid.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_record_private.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DLT_NULL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DLT_EN10MB
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAP_MAGIC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '0xa1b2c3d4'
    - item_type: preproc_def
      name: PCAP_VER_MAJR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCAP_VER_MINR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ETHERTYPE_INET
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: htons(0x0800)
    - item_type: preproc_def
      name: ETHERTYPE_INET6
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: htons(0x86DD)
    - item_type: preproc_def
      name: pcap_hdr_t_DEFINED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IPV6_DEFHLIM
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '64 '
    - item_type: preproc_def
      name: IPV6_VERSION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type_or_value: '0x60'
    structs:
    - fields:
      - name: magic_number
        type: uint32_t
      - name: version_major
        type: uint16_t
      - name: version_minor
        type: uint16_t
      - name: thiszone
        type: int32_t
      - name: sigfigs
        type: uint32_t
      - name: snaplen
        type: uint32_t
      - name: network
        type: uint32_t
      item_type: struct
      name: pcap_hdr_s
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: ts_sec
        type: uint32_t
      - name: ts_usec
        type: uint32_t
      - name: incl_len
        type: uint32_t
      - name: orig_len
        type: uint32_t
      item_type: struct
      name: pcaprec_hdr_s
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: iphdr
        type: struct ip
      - name: udphdr
        type: struct udphdr
      item_type: struct
      name: udpip
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: iphdr
        type: struct ip6_hdr
      - name: udphdr
        type: struct udphdr
      item_type: struct
      name: udpip6
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: dhost[6]
        type: uint8_t
      - name: shost[6]
        type: uint8_t
      - name: type
        type: uint16_t
      item_type: struct
      name: layer2_hdr
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: pcaprec_hdr
        type: pcaprec_hdr_t
      - name: family
        type: uint32_t
      - name: udpip
        type: struct udpip
      item_type: struct
      name: pkt_hdr_pcap_null
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: pcaprec_hdr
        type: pcaprec_hdr_t
      - name: family
        type: uint32_t
      - name: udpip6
        type: struct udpip6
      item_type: struct
      name: pkt_hdr_pcap_null_v6
      pos:
        line_end: 100
        line_start: 96
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: pcaprec_hdr
        type: pcaprec_hdr_t
      - name: ether
        type: struct layer2_hdr
      - name: udpip
        type: struct udpip
      item_type: struct
      name: pkt_hdr_pcap_en10t
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    - fields:
      - name: pcaprec_hdr
        type: pcaprec_hdr_t
      - name: ether
        type: struct layer2_hdr
      - name: udpip6
        type: struct udpip6
      item_type: struct
      name: pkt_hdr_pcap_en10t_v6
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/rtpproxy/src/rtpp_record_private.h
    typedefs:
    - item_type: typedef
      name: pcap_hdr_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/rtpproxy/src/rtpp_record_private.h
      type: pcap_hdr_s
    union:
    - fields:
      - name: 'null'
        type: struct pkt_hdr_pcap_null
      - name: null_v6
        type: struct pkt_hdr_pcap_null_v6
      - name: en10t
        type: struct pkt_hdr_pcap_en10t
      - name: en10t_v6
        type: struct pkt_hdr_pcap_en10t_v6
      item_type: union
      name: pkt_hdr_pcap
      pos:
        line_end: 117
        line_start: 112
        source_file: /src/rtpproxy/src/rtpp_record_private.h
- function_names: []
  source_file: /src/rtpproxy/src/rtp_info.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: data_size
        type: size_t
      - name: data_offset
        type: int
      - name: nsamples
        type: int
      - name: ts
        type: uint32_t
      - name: seq
        type: uint16_t
      - name: ssrc
        type: uint32_t
      - name: appendable
        type: int
      - name: '*rtp_profile'
        type: struct rtp_profile
      item_type: struct
      name: rtp_info
      pos:
        line_end: 40
        line_start: 31
        source_file: /src/rtpproxy/src/rtp_info.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_pcnt_strm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_MEMDEB_REPORT
  - RTPP_MEMDEB_REPORT2
  - RTPP_MEMDEB_REPORT
  - RTPP_MEMDEB_STATIC
  - RTPP_MEMDEB_INIT
  - RTPP_MEMDEB_APP_INIT
  - RTPP_MEMDEB_INIT1
  - RTPP_MEMDEB_FIN
  source_file: /src/rtpproxy/src/rtpp_memdeb_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_MEMDEB_APP_STATIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_memdeb_internal.h
      type_or_value: void * MEMDEB_SYM
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_nofile_dtor
  - rtpp_nofile_ctor
  - rtpp_rlim_max
  source_file: /src/rtpproxy/src/rtpp_nofile.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_nofile
      - name: limit_storage
        type: struct rlimit
      item_type: struct
      name: rtpp_nofile_pvt
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_nofile.c
    typedefs: []
    union: []
- function_names:
  - RTPP_PT_SELECT
  source_file: /src/rtpproxy/src/rtpp_cfg.h
  types:
    enum:
    - enumerators:
      - name: TTL_UNIFIED
        value: '0'
      - name: TTL_INDEPENDENT
        value: '1'
      item_type: enum
      name: rtpp_ttl_mode
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_cfg.h
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_PT_INET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_cfg.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RTPP_PT_INET6
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_cfg.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_PT_MAX
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_cfg.h
      type_or_value: RTPP_PT_INET6
    - item_type: preproc_def
      name: RTPP_PT_LEN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_cfg.h
      type_or_value: (RTPP_PT_MAX + 1)
    structs:
    - fields:
      - name: low_trs
        type: double
      - name: high_trs
        type: double
      - name: ecode
        type: int
      item_type: struct
      name: overload_prot
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/rtpproxy/src/rtpp_cfg.h
    - fields:
      - name: no_daemon
        type: int
      - name: no_chdir
        type: int
      - name: no_pid
        type: int
      - name: no_sigtrap
        type: int
      item_type: struct
      name: rtpp_run_options
      pos:
        line_end: 77
        line_start: 72
        source_file: /src/rtpproxy/src/rtpp_cfg.h
    - fields:
      - name: '*pid_file'
        type: char
      - name: ropts
        type: struct rtpp_run_options
      - name: dmode
        type: int
      - name: bmode
        type: int
      - name: aforce
        type: int
      - name: port_min
        type: int
      - name: port_max
        type: int
      - name: seq_ports
        type: int
      - name: port_ctl
        type: int
      - name: max_ttl
        type: int
      - name: max_setup_ttl
        type: int
      - name: maxpps_rtp
        type: int
      - name: maxpps_rtcp
        type: int
      - name: maxpsize_rtp
        type: int
      - name: maxpsize_rtcp
        type: int
      - name: '*bindaddr[2]'
        type: struct rtpp_bindaddr
      - name: tos
        type: int
      - name: '*rdir'
        type: char
      - name: '*sdir'
        type: char
      - name: record_pcap
        type: int
      - name: record_all
        type: int
      - name: rrtcp
        type: int
      - name: '*glog'
        type: struct rtpp_log
      - name: '*nofile'
        type: struct rtpp_nofile
      - name: no_check
        type: int
      - name: ttl_mode
        type: rtpp_ttl_mode
      - name: '*runcreds'
        type: struct rtpp_runcreds
      - name: log_level
        type: int
      - name: log_facility
        type: int
      - name: '*port_table[RTPP_PT_LEN]'
        type: struct rtpp_port_table
      - name: '*sessions_ht'
        type: struct rtpp_hash_table
      - name: '*sessions_wrt'
        type: struct rtpp_weakref
      - name: '*rtp_streams_wrt'
        type: struct rtpp_weakref
      - name: '*rtcp_streams_wrt'
        type: struct rtpp_weakref
      - name: sched_policy
        type: int
      - name: sched_hz
        type: int
      - name: sched_nice
        type: int
      - name: target_pfreq
        type: double
      - name: '*rtpp_cmd_cf'
        type: struct rtpp_cmd_async
      - name: '*rtpp_proc_cf'
        type: struct rtpp_proc_async
      - name: '*rtpp_proc_ttl_cf'
        type: struct rtpp_proc_ttl
      - name: '*rtpp_tnset_cf'
        type: struct rtpp_tnotify_set
      - name: '*rtpp_notify_cf'
        type: struct rtpp_notify
      - name: '*bindaddrs_cf'
        type: struct rtpp_bindaddrs
      - name: slowshutdown
        type: int
      - name: fastshutdown
        type: int
      - name: '*rtpp_stats'
        type: struct rtpp_stats
      - name: '*ctrl_socks'
        type: struct rtpp_list
      - name: '*rtpp_timed_cf'
        type: struct rtpp_timed
      - name: '*sessinfo'
        type: struct rtpp_sessinfo
      - name: '*cwd_orig'
        type: char
      - name: overload_prot
        type: struct overload_prot
      - name: '*cfile'
        type: char
      - name: '*pproc_manager'
        type: struct pproc_manager
      - name: '*locks'
        type: struct rtpp_locking
      - name: no_resolve
        type: int
      - name: no_redirect
        type: int
      - name: '*proc_servers'
        type: struct rtpp_proc_servers
      - name: '*guid'
        type: struct rtpp_genuid
      item_type: struct
      name: rtpp_cfg
      pos:
        line_end: 167
        line_start: 79
        source_file: /src/rtpproxy/src/rtpp_cfg.h
    typedefs:
    - item_type: typedef
      name: rtpp_ttl_mode
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_cfg.h
      type: rtpp_ttl_mode
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpa_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: psent
        type: unsigned long
      - name: precvd
        type: unsigned long
      - name: plost
        type: unsigned long
      - name: pdups
        type: unsigned long
      - name: ssrc_changes
        type: unsigned long
      - name: pecount
        type: unsigned long
      - name: aecount
        type: unsigned long
      - name: last_ssrc
        type: struct rtpp_ssrc
      - name: last_pt
        type: int8_t
      item_type: struct
      name: rtpa_stats
      pos:
        line_end: 37
        line_start: 27
        source_file: /src/rtpproxy/src/rtpa_stats.h
    - fields:
      - name: jlast
        type: double
      - name: jmax
        type: double
      - name: javg
        type: double
      - name: pcount
        type: unsigned long
      - name: jvcount
        type: unsigned long
      item_type: struct
      name: rtpa_stats_jitter
      pos:
        line_end: 47
        line_start: 39
        source_file: /src/rtpproxy/src/rtpa_stats.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_rcache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_cmd_rcache
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_command_rcache.h
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '* reply'
        type: rtpp_str_const_t
      item_type: struct
      name: rtpp_cmd_rcache_entry
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_command_rcache.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_nofile.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*limit'
        type: struct rlimit
      - name: dtor
        type: rtpp_nofile_dtor_t
      item_type: struct
      name: rtpp_nofile
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_nofile.h
    typedefs: []
    union: []
- function_names:
  - rtpp_timeout_data_ctor
  source_file: /src/rtpproxy/src/rtpp_timeout_data.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_timeout_data
      - name: tag
        type: struct rtpp_str
      - name: tagdata[0]
        type: char
      item_type: struct
      name: rtpp_timeout_data_priv
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_timeout_data.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_sub.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: result
        type: int
      - name: buf_t[512]
        type: char
      item_type: struct
      name: rtpp_subc_resp
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_command_sub.h
    - fields:
      - name: '*sessp'
        type: struct rtpp_session
      - name: '*strmp_in'
        type: struct rtpp_stream
      - name: '*strmp_out'
        type: struct rtpp_stream
      item_type: struct
      name: rtpp_subc_env
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_command_sub.h
    - fields:
      - name: '*env'
        type: struct rtpp_subc_env
      - name: '*subc_args'
        type: struct rtpp_command_args
      - name: '*resp'
        type: struct rtpp_subc_resp
      - name: '*log'
        type: struct rtpp_log
      item_type: struct
      name: rtpp_subc_ctx
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_command_sub.h
    typedefs: []
    union: []
- function_names:
  - EXT2PVT
  - rtpp_packetport_try_push_many_pre_cb
  - rtpp_packetport_wi2pktxp
  - rtp_packet_ext_ctor
  - rtp_packet_ext_dtor
  - rtpp_packet_ext_link
  - rtpp_packet_ext_get_pkt
  - rtpp_packet_ext_owns_data
  - rtpp_packet_ext_get_rtime_wall
  - rtpp_packet_ext_get_rtime_mono
  - rtpp_packet_ext_set_rtime
  - rtpp_packetport_ctor
  - rtpp_packetport_push
  - rtpp_packetport_try_push
  - rtpp_packetport_try_push_many
  - rtpp_packetport_flush
  - rtpp_packetport_get_int
  - rtpp_packetport_try_pop
  - rtpp_packetport_try_pop_many
  - rtpp_packetport_next_in_port
  - rtpp_packetport_dtor
  - rtpp_packetport_dtor_obj
  - rtpp_packetport_run_explicit
  - rtpp_packetport_run_auto
  - rtpp_packetport_send_pkt_na
  - rtpp_packetport_next_in_port_int
  - rtpp_packetport_next_out_port_int
  - rtpp_packetport_reg_stream
  - rtpp_packetport_reg_streams
  - rtpp_packetport_unreg_stream
  - rtpp_packetport_emit_sgnl
  - rtpp_packetport_queue
  - rtpp_packetport_get_wi
  - rtpp_packetport_queue_wi
  - rtpp_packetport_proc_wi_batch
  - rtpp_packetport_out_run
  - rtpp_packetport_drain_queue
  - rtpp_packetport_drain_out
  - rtpp_packetport_ismapped
  - rtpp_packetport_nudge
  - rtpp_packetport_htkey_type
  - rtpp_packetport_deadline_step
  - rtpp_packetport_ctor_args_valid
  - if
  source_file: /src/rtpproxy/src/rtpp_packetport.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_PACKETPORT_PRIV_ID
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/src/rtpp_packetport.c
      type_or_value: UINT64_C(0x6394a0d34f12758b)
    - item_type: preproc_def
      name: RTPP_PACKETPORT_OUT_PORT0
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/src/rtpp_packetport.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RTPP_PACKETPORT_IN_PORT0
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/src/rtpp_packetport.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RTPP_PPSIG_TERM
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/src/rtpp_packetport.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RTPP_PPSIG_NUDGE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_packetport.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_PPSIG_FLUSH
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/src/rtpp_packetport.c
      type_or_value: '2'
    structs:
    - fields:
      - name: pub
        type: struct rtpp_packetport_int
      - name: ext
        type: struct rtpp_packetport
      - name: id
        type: uint64_t
      - name: capacity
        type: unsigned int
      - name: flush_mode
        type: enum rtpp_packetport_flush_mode
      - name: flush_interval
        type: struct timespec
      - name: rtpp_packetport_dtor_obj(struct rtpp_packetport_int_priv *)
        type: void
      - name: '*rtpp_packetport_run_auto(void *)'
        type: void
      - name: '*rtpp_packetport_run_explicit(void *)'
        type: void
      - name: "rtpp_packetport_send_pkt_na(struct rtpp_packetport_int *,\n  unsigned
          int, struct rtp_packet *)"
        type: int
      - name: rtpp_packetport_next_in_port_int(struct rtpp_packetport_int *)
        type: unsigned int
      - name: rtpp_packetport_next_out_port_int(struct rtpp_packetport_int *)
        type: unsigned int
      - name: "rtpp_packetport_reg_stream(struct rtpp_packetport_int *,\n  unsigned
          int, struct rtpp_stream *)"
        type: int
      - name: "rtpp_packetport_reg_streams(struct rtpp_packetport_int *,\n  struct
          rtpp_session *, int, unsigned int)"
        type: int
      - name: "rtpp_packetport_unreg_stream(struct rtpp_packetport_int *,\n  unsigned
          int)"
        type: void
      - name: "rtpp_packetport_emit_sgnl(struct rtpp_packetport_int_priv *, int,\n
          \ const void *, size_t)"
        type: int
      - name: '*rtpp_packetport_wi2pktxp(void *, void *)'
        type: void
      - name: rtpp_packetport_queue(struct SPMCQueue *, struct rtp_packet_ext *)
        type: int
      - name: "*rtpp_packetport_get_wi(struct rtp_packet *,\n  unsigned int)"
        type: struct rtpp_wi
      - name: "rtpp_packetport_queue_wi(struct rtpp_packetport_int_priv *,\n  struct
          rtpp_wi *)"
        type: int
      - name: "rtpp_packetport_proc_wi_batch(struct rtpp_packetport_int_priv *,\n
          \ struct rtpp_wi **, int)"
        type: int
      - name: rtpp_packetport_out_run(struct rtpp_packetport_int_priv *)
        type: uint64_t
      - name: rtpp_packetport_drain_queue(struct SPMCQueue *)
        type: void
      - name: rtpp_packetport_drain_out(struct rtpp_packetport_int_priv *)
        type: void
      - name: rtpp_packetport_ismapped(const void *)
        type: int
      - name: rtpp_packetport_nudge(struct rtpp_packetport_int_priv *)
        type: int
      - name: rtpp_packetport_nport_alloc(_Atomic(unsigned int)
        type: unsigned int
      - name: rtpp_packetport_htkey_type(void)
        type: enum rtpp_ht_key_types
      - name: "rtpp_packetport_ctor_args_valid(\n  const struct rtpp_packetport_ctor_args
          *)"
        type: int
      - name: "rtpp_packetport_deadline_step(struct timespec *,\n  const struct timespec
          *)"
        type: void
      - name: rtpp_packetport_nport_alloc(_Atomic(unsigned int)
        type: unsigned int
      - name: rval
        type: unsigned int
      item_type: struct
      name: rtpp_packetport_int_priv
      pos:
        line_end: 914
        line_start: 86
        source_file: /src/rtpproxy/src/rtpp_packetport.c
    typedefs: []
    union: []
- function_names:
  - min_nsamples
  - rtp_resizer_new
  - rtp_resizer_free
  - rtp_resizer_get_ptime
  - rtp_resizer_set_ptime
  - rtp_resizer_enqueue
  - detach_queue_head
  - append_packet
  - append_chunk
  - move_chunk
  - rtp_resizer_get
  source_file: /src/rtpproxy/src/rtp_resizer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nsamples_total
        type: int
      - name: seq_initialized
        type: int
      - name: seq
        type: uint16_t
      - name: ssrc
        type: struct rtpp_ssrc
      - name: last_sent_ts_inited
        type: int
      - name: last_sent_ts
        type: uint32_t
      - name: tsdelta_inited
        type: int
      - name: tsdelta
        type: uint32_t
      - name: output_nsamples
        type: int
      - name: max_buf_nsamples
        type: int
      - name: queue
        type: "struct {\n        struct rtp_packet *first;\n        struct rtp_packet
          *last;\n    }"
      item_type: struct
      name: rtp_resizer
      pos:
        line_end: 67
        line_start: 46
        source_file: /src/rtpproxy/src/rtp_resizer.c
    typedefs: []
    union: []
- function_names:
  - rtpp_command_stream_compact
  - rtpp_command_stream_doio
  - rcs_reply_nomem
  - rtpp_command_stream_get
  source_file: /src/rtpproxy/src/rtpp_command_stream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENM_STR
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/rtpproxy/src/rtpp_command_stream.c
      type_or_value: '"E" STR(ECODE_NOMEM_9)'
    - item_type: preproc_def
      name: ENM_PSTR
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/rtpproxy/src/rtpp_command_stream.c
      type_or_value: ENM_STR "\\n"
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_module_if_ctor
  - packet_is_rtcp
  - acct_rtcp_enqueue
  - rtpp_modules_lookup
  - rtpp_mif_load
  - rtpp_mif_memdeb_dtor
  - rtpp_mif_kaput
  - rtpp_mif_run_acct
  - rtpp_mif_do_acct
  - rtpp_mif_do_acct_rtcp
  - PTH_CB
  - rtpp_mif_construct
  - rtpp_mif_start
  - rtpp_mif_get_mconf
  - rtpp_mif_ul_subc_handle
  source_file: /src/rtpproxy/src/rtpp_module_if.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_module_if
      - name: mi
        type: struct rtpp_minfo
      - name: '*mpvt'
        type: struct rtpp_module_priv
      - name: '*log'
        type: struct rtpp_log
      - name: ids
        type: struct rtpp_modids
      - name: '*sessions_wrt'
        type: struct rtpp_weakref
      - name: '*mcp'
        type: struct rtpp_module_conf
      - name: started
        type: int
      - name: mpath[0]
        type: char
      item_type: struct
      name: rtpp_module_if_priv
      pos:
        line_end: 102
        line_start: 92
        source_file: /src/rtpproxy/src/rtpp_module_if.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_bindaddr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: advaddr
        type: struct rtpp_str_const
      - name: label
        type: struct rtpp_str_const
      item_type: struct
      name: rtpp_bindaddr_params
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_bindaddr.h
    - fields:
      - name: '*addr'
        type: struct sockaddr
      - name: params
        type: struct rtpp_bindaddr_params
      item_type: struct
      name: rtpp_bindaddr
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_bindaddr.h
    typedefs: []
    union: []
- function_names:
  - rtpp_port_table_ctor
  - rtpp_ptbl_dtor
  - rtpp_ptbl_get_port
  source_file: /src/rtpproxy/src/rtpp_port_table.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_port_table
      - name: lock
        type: pthread_mutex_t
      - name: port_table_len
        type: int
      - name: port_table_idx
        type: int
      - name: '*port_table'
        type: uint16_t
      - name: port_ctl
        type: uint16_t
      - name: seq_ports
        type: int
      item_type: struct
      name: rtpp_ptbl_priv
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_port_table.c
    typedefs: []
    union: []
- function_names:
  - rtpp_glitch_pthread_create
  - rtpp_glitch_pthread_mutex_init
  - rtpp_glitch_socket
  - rtpp_glitch_listen
  - rtpp_glitch_bind
  - rtpp_glitch_accept
  - rtpp_glitch_send
  - rtpp_glitch_connect
  - rtpp_glitch_chmod
  - rtpp_glitch_fstat
  - rtpp_glitch_stat
  - rtpp_glitch_getaddrinfo
  - rtpp_glitch_open
  - rtpp_glitch_fcntl
  - rtpp_glitch_getrlimit
  - rtpp_glitch_setrlimit
  - rtpp_glitch_dup2
  - rtpp_glitch_setuid
  - rtpp_glitch_setgid
  - rtpp_glitch_pipe
  - rtpp_glitch_write
  - rtpp_glitch_setsid
  - rtpp_glitch_fork
  - rtpp_glitch_realpath
  - rtpp_glitch_mmap
  - rtpp_glitch_dlopen
  - rtpp_glitch_dlerror
  - rtpp_glitch_dlsym
  - rtpp_glitch_fwrite
  source_file: /src/rtpproxy/src/rtpp_autoglitch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_autoglitch.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MIN
  - MAX
  - ABS
  source_file: /src/rtpproxy/src/rtpp_math.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: a
        type: double
      - name: b
        type: double
      - name: lastval
        type: double
      - name: minval
        type: double
      - name: maxval
        type: double
      - name: peak_detect
        type: int
      item_type: struct
      name: recfilter
      pos:
        line_end: 50
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_math.h
    typedefs: []
    union: []
- function_names:
  - rtpp_notify_queue_run
  - rtpp_notify_ctor
  - rtpp_notify_dtor
  - rtpp_notify_schedule
  - reconnect_handler
  - do_notification
  source_file: /src/rtpproxy/src/rtpp_notify.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: len
        type: int
      - name: '*rttp'
        type: struct rtpp_tnotify_target
      - name: '*glog'
        type: struct rtpp_log
      - name: '*ntype'
        type: char
      - name: notify_buf[0]
        type: char
      item_type: struct
      name: rtpp_notify_wi
      pos:
        line_end: 69
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_notify.c
    - fields:
      - name: pub
        type: struct rtpp_notify
      - name: '*nqueue'
        type: struct rtpp_queue
      - name: '*sigterm'
        type: struct rtpp_wi
      - name: thread_id
        type: pthread_t
      - name: '*glog'
        type: struct rtpp_log
      item_type: struct
      name: rtpp_notify_priv
      pos:
        line_end: 77
        line_start: 71
        source_file: /src/rtpproxy/src/rtpp_notify.c
    typedefs: []
    union: []
- function_names:
  - pthread_mutex_lock
  - pthread_mutex_unlock
  source_file: /src/rtpproxy/src/rtpp_threads.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TSTATE_RUN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/src/rtpp_threads.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TSTATE_CEASE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_threads.h
      type_or_value: '0x1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_module_cplane.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ul_subc_handle
        type: rtpm_cplane_ul_subc_handle_t
      item_type: struct
      name: rtpp_cplane_handlers
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_module_cplane.h
    typedefs: []
    union: []
- function_names:
  - rtpp_timed_queue_run
  - rtpp_timed_ctor
  - rtpp_timed_shutdown
  - rtpp_timed_destroy
  - rtpp_timed_schedule_base
  - rtpp_timed_schedule_rc
  - rtpp_timed_schedule
  - rtpp_timed_istime
  - rtpp_timed_process
  - rtpp_timed_match_wi
  - rtpp_timed_cancel
  source_file: /src/rtpproxy/src/rtpp_timed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RT_ST_RUNNING
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/src/rtpp_timed.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RT_ST_SHTDOWN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/src/rtpp_timed.c
      type_or_value: '1'
    structs:
    - fields:
      - name: pub
        type: struct rtpp_timed
      - name: '*q'
        type: struct rtpp_queue
      - name: '*cmd_q'
        type: struct rtpp_queue
      - name: last_run
        type: double
      - name: period
        type: double
      - name: thread_id
        type: pthread_t
      - name: '*sigterm'
        type: struct rtpp_wi
      - name: wi_dsize
        type: int
      - name: '*elp'
        type: void
      - name: state
        type: int
      item_type: struct
      name: rtpp_timed_cf
      pos:
        line_end: 67
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_timed.c
    - fields:
      - name: pub
        type: struct rtpp_timed_task
      - name: cb
        type: rtpp_timed_cb_s
      - name: cancel_cb
        type: rtpp_timed_cancel_cb_s
      - name: '*callback_rcnt'
        type: struct rtpp_refcnt
      - name: when
        type: double
      - name: offset
        type: double
      - name: '*timed_cf'
        type: struct rtpp_timed_cf
      item_type: struct
      name: rtpp_timed_wi
      pos:
        line_end: 83
        line_start: 75
        source_file: /src/rtpproxy/src/rtpp_timed.c
    - fields:
      - name: ctime
        type: double
      - name: wi_dsize
        type: int
      item_type: struct
      name: rtpp_timed_istime_arg
      pos:
        line_end: 295
        line_start: 292
        source_file: /src/rtpproxy/src/rtpp_timed.c
    - fields:
      - name: wi_dsize
        type: int
      - name: '*wi_data'
        type: struct rtpp_timed_wi
      item_type: struct
      name: rtpp_timed_match_wi_arg
      pos:
        line_end: 347
        line_start: 344
        source_file: /src/rtpproxy/src/rtpp_timed.c
    typedefs: []
    union: []
- function_names:
  - rtpp_module_dsop_canonic
  - rtpp_cfile_process
  - parse_modules
  - conf_helper_mapper
  source_file: /src/rtpproxy/src/rtpp_cfile.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - T_printf
  - RTPP_LOG
  - RTPP_ELOG
  source_file: /src/rtpproxy/src/rtpp_log_obj.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_log
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_log_obj.h
    typedefs: []
    union: []
- function_names:
  - FLUSH_STAT
  source_file: /src/rtpproxy/src/rtpp_proc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cnt
        type: uint64_t
      - name: cnt_idx
        type: int
      item_type: struct
      name: rtpp_proc_stat
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_proc.h
    - fields:
      - name: npkts_rcvd
        type: struct rtpp_proc_stat
      - name: npkts_relayed
        type: struct rtpp_proc_stat
      - name: npkts_resizer_in
        type: struct rtpp_proc_stat
      - name: npkts_resizer_out
        type: struct rtpp_proc_stat
      - name: npkts_resizer_discard
        type: struct rtpp_proc_stat
      - name: npkts_discard
        type: struct rtpp_proc_stat
      item_type: struct
      name: rtpp_proc_rstats
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_proc.h
    typedefs: []
    union: []
- function_names:
  - _rtpp_str_dup2
  source_file: /src/rtpproxy/src/rtpp_str.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_fintest
  - SET_FOREACH
  source_file: /src/rtpproxy/src/rtpp_fintest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*fintest_t) (void)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_fintest.c
      type: void
    union: []
- function_names:
  - rtpp_wi_malloc_sgnl
  source_file: /src/rtpproxy/src/rtpp_wi_sgnl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_ctx.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*cfs'
        type: struct rtpp_cfg
      - name: controlfd
        type: int
      - name: cookie
        type: rtpp_str_const_t
      - name: umode
        type: int
      - name: '*rcache_obj'
        type: struct rtpp_cmd_rcache
      - name: dtime
        type: struct rtpp_timestamp
      - name: raddr
        type: struct rtpp_sockaddr
      - name: _raddr
        type: struct sockaddr_storage
      - name: '*csp'
        type: struct rtpp_command_stats
      item_type: struct
      name: rtpp_command_ctx
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_command_ctx.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_bindaddrs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_cfile.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_ringbuf_ctor
  - rtpp_ringbuf_dtor
  - rtpp_ringbuf_push
  - rtpp_ringbuf_flush
  - rtpp_ringbuf_locate
  source_file: /src/rtpproxy/src/rtpp_ringbuf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_ringbuf
      - name: '*elements'
        type: void
      - name: nelements
        type: int
      - name: el_size
        type: size_t
      - name: c_elem
        type: int
      - name: b_full
        type: int
      item_type: struct
      name: rtpp_ringbuf_priv
      pos:
        line_end: 47
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_ringbuf.c
    typedefs: []
    union: []
- function_names:
  - rtpp_wi_malloc
  - rtpp_wi_malloc_na
  - rtpp_wi_malloc_pkt_na
  - rtpp_wi_free
  - rtpp_wi_pkt_free
  source_file: /src/rtpproxy/src/rtpp_wi_pkt.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: wip
        type: struct rtpp_wi_pvt
      - name: to
        type: struct sockaddr_storage
      - name: msg[0]
        type: char
      item_type: struct
      name: rtpp_wi_sendto
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_wi_pkt.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_SW_VERSION
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/rtpproxy/src/rtpp_version.h
      type_or_value: '"rel.20160514172346"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_wref_ctor
  - RTPP_DBGCODE
  - rtpp_wref_dtor
  - rtpp_wref_setref
  - rtpp_wref_inval
  - RTPP_DBGCODE
  - rtpp_wref_getref
  source_file: /src/rtpproxy/src/rtpp_wref.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_wref
      - name: target
        type: struct rtpp_wref_target
      item_type: struct
      name: rtpp_wref_priv
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/rtpproxy/src/rtpp_wref.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_wref.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rco'
        type: struct rtpp_refcnt
      - name: '*obj'
        type: void
      item_type: struct
      name: rtpp_wref_target
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_wref.h
    typedefs: []
    union: []
- function_names:
  - PP_NAME
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_pipe.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PIPE_RTP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_pipe.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PIPE_RTCP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_pipe.h
      type_or_value: '2'
    structs:
    - fields:
      - name: seuid
        type: uint64_t
      - name: '*log'
        type: struct rtpp_log
      - name: pipe_type
        type: int
      - name: '*session_cap'
        type: struct rtpp_session_ctor_args
      item_type: struct
      name: r_pipe_ctor_args
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_pipe.h
    typedefs: []
    union: []
- function_names:
  - rtpp_mutex_islocked
  - pthread_mutex_lock_safe
  - pthread_mutex_unlock_safe
  source_file: /src/rtpproxy/src/rtpp_threads.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_module_if.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: t
        type: struct rtpp_type_linkable
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*descr'
        type: struct rtpp_mdescr
      - name: '*ids'
        type: struct rtpp_modids
      - name: has
        type: "struct {\n        int do_acct:1;\n        int ul_subc_h:1;\n    }"
      item_type: struct
      name: rtpp_module_if
      pos:
        line_end: 70
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_module_if.h
    typedefs: []
    union: []
- function_names:
  - __RTPP_CONCAT1
  - __RTPP_CONCAT
  - __RTPP_STRING
  - __RTPP_XSTRING
  - __RTPP_WEAK
  - __RTPP_GLOBL
  - __rtpp_section
  - __MAKE_SET_QV
  - __MAKE_SET
  - TEXT_SET
  - DATA_SET
  - DATA_WSET
  - BSS_SET
  - ABS_SET
  - SET_ENTRY
  - SET_DECLARE
  - SET_BEGIN
  - SET_LIMIT
  - SET_FOREACH
  - SET_ITEM
  - SET_COUNT
  source_file: /src/rtpproxy/src/rtpp_linker_set.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __rtpp_used
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_linker_set.h
      type_or_value: __attribute__((__used__))
    - item_type: preproc_def
      name: __MAKE_SET_CONST
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/rtpproxy/src/rtpp_linker_set.h
      type_or_value: const
    - item_type: preproc_def
      name: __NOASAN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/src/rtpp_linker_set.h
      type_or_value: __attribute__((no_sanitize("address")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPLM_GET
  - RTPLM_SET
  - analyze_rtp_packet
  - analyze_rtcp_packet
  - resizer_injest
  - rtpp_stream_ctor
  - _s_rtps
  - _rtpp_stream_get_actor
  - _rtpp_stream_get_proto
  - rtpp_stream_dtor
  - player_predestroy_cb
  - drop_packets
  - rtpp_stream_handle_play
  - rtpp_stream_handle_noplay
  - rtpp_stream_isplayer_active
  - rtpp_stream_finish_playback
  - rtpp_stream_get_actor
  - rtpp_stream_get_proto
  - _rtpp_stream_latch
  - rtpp_stream_latch
  - rtpp_stream_latch_setmode
  - rtpp_stream_latch_getmode
  - _rtpp_stream_latch_sync
  - _rtpp_stream_check_latch_override
  - _rtpp_stream_plr_start
  - _rtpp_stream_update_sendable
  - __rtpp_stream_fill_addr
  - rtpp_stream_guess_addr
  - rtpp_stream_prefill_addr
  - rtpp_stream_reg_onhold
  - rtpp_stream_set_skt
  - rtpp_stream_get_skt
  - rtpp_stream_set_packetport
  - rtpp_stream_get_packetport
  - rtpp_stream_has_packetport
  - rtpp_stream_update_skt
  - rtpp_stream_send_pkt
  - rtpp_stream_send_pkt_to
  - _rtpp_stream_recv_pkt
  - rtpp_stream_issendable
  - _rtpp_stream_islatched
  - rtpp_stream_locklatch
  - rtpp_stream_get_stats
  - _rtpp_stream_fill_addr
  - rtpp_stream_rx
  - rtpp_stream_get_rem_addr
  - rtpp_stream_link_sender
  - rtpp_stream_get_sender
  - rtpp_stream_set_pps_limit
  - rtpp_stream_set_max_pkt_size
  - rtpp_stream_refill_pps_bucket
  - rtpp_stream_check_limits
  - rtpp_stream_unreg
  source_file: /src/rtpproxy/src/rtpp_stream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEQ_SYNC_IVAL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/src/rtpp_stream.c
      type_or_value: '1.0    '
    structs:
    - fields:
      - name: latched
        type: int
      - name: ssrc
        type: struct rtpp_ssrc
      - name: seq
        type: int
      - name: last_sync
        type: double
      item_type: struct
      name: rtpps_latch
      pos:
        line_end: 100
        line_start: 94
        source_file: /src/rtpproxy/src/rtpp_stream.c
    - fields:
      - name: uid
        type: uint64_t
      - name: inact
        type: int
      item_type: struct
      name: rtps
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/rtpproxy/src/rtpp_stream.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_locking.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: glob
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_locking
      pos:
        line_end: 29
        line_start: 27
        source_file: /src/rtpproxy/src/rtpp_locking.h
    typedefs: []
    union: []
- function_names:
  - RTPPQ_REMOVE_HEAD
  - RTPPQ_REMOVE_AFTER
  - RTPPQ_APPEND
  source_file: /src/rtpproxy/src/rtpp_queue.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPQ_TINY_CB_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/src/rtpp_queue.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RTPQ_SMALL_CB_LEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/src/rtpp_queue.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RTPQ_MEDIUM_CB_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/src/rtpp_queue.h
      type_or_value: '256'
    - item_type: preproc_def
      name: RTPQ_LARGE_CB_LEN
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/src/rtpp_queue.h
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTP_PROFILE_AUDIO
  - g723_len
  - g723_samples
  - rtp_calc_samples
  - rtp_packet_chunk_find_g711
  - rtp_packet_chunk_find_g729
  - rtp_packet_chunk_find_gsm
  - rtp_packet_chunk_find_g723
  - rtp_packet_chunk_find_g722
  - rtp_packet_first_chunk_find
  - rtp_packet_parse_errstr
  - rtp_packet_parse_raw
  source_file: /src/rtpproxy/src/rtp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_ringbuf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_server.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPS_LATER
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: (0)
    - item_type: preproc_def
      name: RTPS_EOF
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: RTPS_ERROR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: RTPS_ENOMEM
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: RTPP_SERV_OK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RTPP_SERV_NOENT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RTPP_SERV_NOMEM
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: RTPP_SERV_BADARG
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/src/rtpp_server.h
      type_or_value: '-3'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: codec
        type: enum rtp_type
      - name: loop
        type: int
      - name: ptime
        type: int
      - name: result
        type: int
      - name: '*guid'
        type: struct rtpp_genuid
      item_type: struct
      name: rtpp_server_ctor_args
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_server.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_wi_apis.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_weakref_ctor
  - rtpp_weakref_reg
  - rtpp_weakref_unreg
  - rtpp_weakref_move
  - rtpp_weakref_dtor
  - rtpp_wrt_get_by_idx
  - rtpp_wrt_foreach
  - rtpp_wrt_get_length
  - rtpp_wrt_purge
  - rtpp_wrt_set_on_first
  - rtpp_wrt_set_on_last
  source_file: /src/rtpproxy/src/rtpp_weakref.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_weakref
      - name: on_first
        type: rtpp_weakref_cb_s
      - name: on_last
        type: rtpp_weakref_cb_s
      - name: on_lock
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_weakref_priv
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_weakref.c
    typedefs: []
    union: []
- function_names:
  - _getdtime
  - getdtime
  - rtpp_timestamp_get
  - dtime2mtimespec
  - dtime2timeval
  - USEC
  - get_mclock_name
  source_file: /src/rtpproxy/src/rtpp_time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _memcpy
  - UNUSED
  - MEMDEB_SIGNATURE_ALLOC
  - MEMDEB_SIGNATURE_FREE
  - MEMDEB_SIGNATURE_PRIV
  - rtpp_memdeb_init
  - CHK_PRIV
  - rtpp_memdeb_dtor
  - rtpp_memdeb_setlog
  - rtpp_memdeb_setname
  - rtpp_memdeb_approve
  - RTPP_MEMDEB_REPORT_LOC
  - rtpp_memdeb_nget
  - CHK_PRIV_VRB
  - rtpp_memdeb_malloc
  - rtpp_memdeb_imalloc
  - ptr2mpf
  - rtpp_memdeb_free
  - rtpp_memdeb_free_n
  - rtpp_memdeb_realloc
  - rtpp_memdeb_strdup
  - rtpp_memdeb_asprintf
  - rtpp_memdeb_vasprintf
  - rtpp_memdeb_ivasprintf
  - rtpp_memdeb_memcpy
  - rtpp_memdeb_calloc
  - is_approved
  - rtpp_memdeb_dumpstats
  - rtpp_memdeb_setbaseln
  - rtpp_memdeb_get_stats
  source_file: /src/rtpproxy/src/rtpp_memdeb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MEMDEB_SIGNATURE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
      type_or_value: 0x8b26e00041dfdec6UL
    - item_type: preproc_def
      name: MEMDEB_SIG_PRIV_SALT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
      type_or_value: 0x7d442e4532bb9ef0UL
    - item_type: preproc_def
      name: MEMDEB_GUARD_SIZE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_APPROVED
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
      type_or_value: '10'
    structs:
    - fields:
      - name: magic
        type: uint64_t
      - name: '*loc'
        type: struct rtpp_codeptr
      - name: mstats
        type: struct memdeb_stats
      - name: '*next'
        type: struct memdeb_node
      item_type: struct
      name: memdeb_node
      pos:
        line_end: 95
        line_start: 89
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
    - fields:
      - name: '*mnp'
        type: struct memdeb_node
      - name: asize
        type: size_t
      - name: magic
        type: uint64_t
      - name: real_data[0]
        type: long long
      item_type: struct
      name: memdeb_pfx
      pos:
        line_end: 104
        line_start: 97
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
    - fields:
      - name: '*funcn'
        type: char
      - name: max_nunalloc
        type: int
      - name: '*why'
        type: char
      item_type: struct
      name: rtpp_memdeb_au
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
    - fields:
      - name: magic
        type: uint64_t
      - name: '*nodes'
        type: struct memdeb_node
      - name: mutex
        type: pthread_mutex_t
      - name: au[MAX_APPROVED]
        type: struct rtpp_memdeb_au
      - name: '*_md_glog'
        type: struct rtpp_log
      - name: '*inst_name'
        type: char
      item_type: struct
      name: rtpp_memdeb_priv
      pos:
        line_end: 121
        line_start: 114
        source_file: /src/rtpproxy/src/rtpp_memdeb.c
    typedefs: []
    union: []
- function_names:
  - is_rtp_resizer_enabled
  source_file: /src/rtpproxy/src/rtp_resizer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - rtpp_exit
  - rtpp_glog_fin
  - badsignal
  - fatsignal
  - sighup
  - ehandler
  - RTPP_DBGCODE
  - IC_BAIL
  - IC_ERR
  - IC_ERRX
  - IC_BAIL
  - IC_ERR
  - IC_ERRX
  - init_config_bail
  - init_config
  - update_derived_stats
  - rtpp_shutdown
  - MAIN_ERR
  - MAIN_ERRX
  - MAIN_EXIT
  - MAIN_ERR
  - MAIN_ERRX
  - MAIN_EXIT
  - _rtpp_main
  - RTPP_DBGCODE
  source_file: /src/rtpproxy/src/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _SVID_SOURCE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PRIO_UNSET
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/rtpproxy/src/main.c
      type_or_value: (PRIO_MIN - 1)
    - item_type: preproc_def
      name: LOPT_DSO
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '256'
    - item_type: preproc_def
      name: LOPT_BRSYM
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '257'
    - item_type: preproc_def
      name: LOPT_NICE
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '258'
    - item_type: preproc_def
      name: LOPT_OVL_PROT
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '259'
    - item_type: preproc_def
      name: LOPT_CONFIG
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '260'
    - item_type: preproc_def
      name: LOPT_FORC_ASM
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '261'
    - item_type: preproc_def
      name: LOPT_NO_RESOL
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '262'
    - item_type: preproc_def
      name: LOPT_NO_REDIR
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '263'
    - item_type: preproc_def
      name: LOPT_MAXPPS
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '264'
    - item_type: preproc_def
      name: LOPT_MAXPSIZE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/rtpproxy/src/main.c
      type_or_value: '265'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_proc_ttl_refill_pps
  - rtpp_proc_ttl_foreach
  - rtpp_proc_ttl
  - rtpp_proc_ttl_run
  - rtpp_proc_ttl_dtor
  - rtpp_proc_ttl_ctor
  source_file: /src/rtpproxy/src/rtpp_proc_ttl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rtpp_notify_cf'
        type: struct rtpp_notify
      - name: '*rtpp_stats'
        type: struct rtpp_stats
      - name: '*sessions_wrt'
        type: struct rtpp_weakref
      item_type: struct
      name: foreach_args
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_proc_ttl.c
    - fields:
      - name: pub
        type: struct rtpp_proc_ttl
      - name: thread_id
        type: pthread_t
      - name: '*op'
        type: struct rtpp_anetio_cf
      - name: '*elp'
        type: void
      - name: '*sessions_ht'
        type: struct rtpp_hash_table
      - name: fa
        type: struct foreach_args
      item_type: struct
      name: rtpp_proc_ttl_pvt
      pos:
        line_end: 76
        line_start: 68
        source_file: /src/rtpproxy/src/rtpp_proc_ttl.c
    typedefs: []
    union: []
- function_names:
  - ishostseq
  - ishostnull
  - getport
  - getnport
  - isaddrseq
  - setport
  - setanyport
  - addr2char_r
  - addrport2char_r
  - resolve
  - rtpp_in_cksum
  - local4remote
  - extractaddr
  - extractlabel
  - is_wildcard
  - is_numhost
  - setbindhost
  source_file: /src/rtpproxy/src/rtpp_network.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_async.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dtor
        type: rtpp_cmd_async_dtor_t
      - name: wakeup
        type: rtpp_cmd_async_wakeup_t
      - name: get_aload
        type: rtpp_cmd_async_get_aload_t
      - name: reg_overload
        type: rtpp_cmd_reg_overload_t
      - name: chk_overload
        type: rtpp_cmd_chk_overload_t
      item_type: struct
      name: rtpp_cmd_async
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_command_async.h
    typedefs: []
    union: []
- function_names:
  - controlfd_init_systemd
  - controlfd_init_ifsun
  - controlfd_setbindhost
  - controlfd_init_udp
  - controlfd_init_tcp
  - rtpp_controlfd_init
  - rtpp_csock_addrlen
  - rtpp_controlfd_cleanup
  - rtpp_ctrl_sock_parse
  - rtpp_ctrl_sock_describe
  source_file: /src/rtpproxy/src/rtpp_controlfd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_rzmalloc_perf
  - rtpp_refcnt_perf
  - rtpp_refcnt_trace_perf
  - main
  source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TESTOPS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
      type_or_value: (4 * 10000000)
    structs:
    - fields:
      - name: pub
        type: "struct {\n        struct rtpp_refcnt *rcnt;\n    }"
      item_type: struct
      name: dummy
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    - fields:
      - name: pfunc_ctor
        type: perf_func_ctor_t
      - name: '*tname'
        type: char
      item_type: struct
      name: '*tp'
      pos:
        line_end: 130
        line_start: 127
        source_file: /src/rtpproxy/src/rtpp_rzmalloc_perf.c
    typedefs: []
    union: []
- function_names:
  - rtpp_ucl_set_unknown
  - r_ucl_object_tostring_forced
  - r_ucl_object_type
  - r_ucl_object_toint
  - r_ucl_object_key
  source_file: /src/rtpproxy/src/rtpp_ucl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_CLASS
  - DECLARE_CLASS_PUBTYPE
  - DECLARE_CLASS_PUBTYPE
  - DECLARE_METHOD
  - DECLARE_SMETHODS
  - DEFINE_SMETHODS
  - PUBINST_FININIT
  - PUBINST_FININIT
  - DEFINE_METHOD
  - DEFINE_RAW_METHOD
  - METHOD_ENTRY
  - CALL_METHOD
  - GET_SMETHODS
  - GET_SMETHOD
  - GET_SMETHOD
  - CALL_SMETHOD
  - typeof
  - typeof
  - PVT_RCOFFS
  - PUB_RCOFFS
  - PUB2PVT
  - CONST
  - RTPP_OBJ_INCREF
  - RTPP_OBJ_DECREF
  - RTPP_OBJ_DTOR_ATTACH
  - RTPP_OBJ_DTOR_ATTACH_s
  - RTPP_OBJ_DTOR_ATTACH_RC
  - RTPP_OBJ_DTOR_ATTACH_RC_s
  - RTPP_OBJ_DTOR_ATTACH_OBJ
  - RTPP_OBJ_DTOR_ATTACH_OBJ_s
  - RTPP_OBJ_BORROW
  - RTPP_OBJ_BORROW_s
  - DEFINE_CB_STRUCT
  source_file: /src/rtpproxy/src/rtpp_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_UID_NONE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_types.h
      type_or_value: ((uint64_t)0)
    - item_type: preproc_def
      name: RTPP_EXPORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/src/rtpp_types.h
      type_or_value: __attribute__((visibility("default")))
    structs:
    - fields:
      - name: '*next'
        type: struct rtpp_type_linkable
      - name: type_data[0]
        type: char
      item_type: struct
      name: rtpp_type_linkable
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_types.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_session.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ppi'
        type: struct rtpp_packetport_int
      - name: rport
        type: unsigned int
      item_type: struct
      name: rtpp_packetport_ref
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_session.h
    - fields:
      - name: '*call_id'
        type: rtpp_str_t
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*from_tag_nmn'
        type: rtpp_str_t
      - name: '*log'
        type: struct rtpp_log
      - name: '*rtp'
        type: struct rtpp_pipe
      - name: '*rtcp'
        type: struct rtpp_pipe
      - name: complete
        type: int
      - name: strong
        type: int
      - name: '*timeout_data'
        type: struct rtpp_timeout_data
      - name: seuid
        type: uint64_t
      - name: '*rtpp_stats'
        type: struct rtpp_stats
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_session
      pos:
        line_end: 78
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_session.h
    - fields:
      - name: '*cfs'
        type: struct rtpp_cfg
      - name: '*ccap'
        type: struct common_cmd_args
      - name: '*dtime'
        type: struct rtpp_timestamp
      - name: '**lia'
        type: struct rtpp_bindaddr
      - name: weak
        type: int
      - name: '*ep_packetport'
        type: struct rtpp_packetport_ref
      - name: '*lpacketport'
        type: struct rtpp_packetport_int
      item_type: struct
      name: rtpp_session_ctor_args
      pos:
        line_end: 88
        line_start: 80
        source_file: /src/rtpproxy/src/rtpp_session.h
    - fields:
      - name: '*in'
        type: struct rtpp_stream
      - name: '*out'
        type: struct rtpp_stream
      - name: ret
        type: int
      item_type: struct
      name: rtpp_stream_pair
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/rtpproxy/src/rtpp_session.h
    typedefs:
    - item_type: typedef
      name: rtpp_session_rot
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_session.h
      type: rtpp_session
    union: []
- function_names:
  - rxmit_packets
  - process_rtp_only
  source_file: /src/rtpproxy/src/rtpp_proc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sp'
        type: struct rtpp_session
      - name: '*stp'
        type: struct rtpp_stream
      item_type: struct
      name: rtpp_proc_ready_lst
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_proc.c
    typedefs: []
    union: []
- function_names:
  - EXPAND_AND_CONCAT
  - CONCAT
  - mod_malloc
  - mod_zmalloc
  - mod_rzmalloc
  - mod_free
  - mod_realloc
  - mod_strdup
  - mod_asprintf
  - mod_vasprintf
  - mod_malloc
  - mod_zmalloc
  - mod_rzmalloc
  - mod_free
  - mod_realloc
  - mod_strdup
  - mod_asprintf
  - mod_vasprintf
  - MI_VER_INIT
  - MI_VER_CHCK
  source_file: /src/rtpproxy/src/rtpp_module.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODULE_API_REVISION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_module.h
      type_or_value: '12'
    - item_type: preproc_def
      name: RTPP_MOD_SELF
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/src/rtpp_module.h
      type_or_value: CONCAT(rtpp_module_, RTPP_MOD_NAME)
    - item_type: preproc_def
      name: RTPP_MOD_SELF
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/src/rtpp_module.h
      type_or_value: (rtpp_module)
    - item_type: preproc_def
      name: _MMFN
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/src/rtpp_module.h
      type_or_value: (*(RTPP_MOD_SELF.fn))
    - item_type: preproc_def
      name: _MMDEB
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/rtpproxy/src/rtpp_module.h
      type_or_value: '*(RTPP_MOD_SELF.memdeb_p)'
    structs:
    - fields:
      - name: rev
        type: int
      - name: mi_size
        type: size_t
      - name: '*build'
        type: char
      item_type: struct
      name: api_version
      pos:
        line_end: 129
        line_start: 125
        source_file: /src/rtpproxy/src/rtpp_module.h
    - fields:
      - name: ver
        type: struct api_version
      - name: '*name'
        type: char
      - name: '*author'
        type: char
      - name: '*copyright'
        type: char
      - name: '*maintainer'
        type: char
      - name: module_id
        type: unsigned int
      item_type: struct
      name: rtpp_mdescr
      pos:
        line_end: 138
        line_start: 131
        source_file: /src/rtpproxy/src/rtpp_module.h
    - fields:
      - name: ctor
        type: rtpp_module_ctor_t
      - name: dtor
        type: rtpp_module_dtor_t
      - name: get_mconf
        type: rtpp_module_get_mconf_t
      - name: config
        type: rtpp_module_config_t
      item_type: struct
      name: rtpp_mhandlers
      pos:
        line_end: 145
        line_start: 140
        source_file: /src/rtpproxy/src/rtpp_module.h
    - fields:
      - name: '*sigterm'
        type: struct rtpp_wi
      - name: thread_id
        type: pthread_t
      - name: '*mod_q'
        type: struct rtpp_queue
      - name: '*mpvt'
        type: struct rtpp_module_priv
      item_type: struct
      name: rtpp_wthrdata
      pos:
        line_end: 154
        line_start: 149
        source_file: /src/rtpproxy/src/rtpp_module.h
    - fields:
      - name: instance_id
        type: unsigned int
      - name: module_idx
        type: unsigned int
      item_type: struct
      name: rtpp_modids
      pos:
        line_end: 159
        line_start: 156
        source_file: /src/rtpproxy/src/rtpp_module.h
    - fields:
      - name: _malloc
        type: rtpp_module_malloc_t
      - name: _zmalloc
        type: rtpp_module_zmalloc_t
      - name: _rzmalloc
        type: rtpp_module_rzmalloc_t
      - name: _free
        type: rtpp_module_free_t
      - name: _realloc
        type: rtpp_module_realloc_t
      - name: _strdup
        type: rtpp_module_strdup_t
      - name: _asprintf
        type: rtpp_module_asprintf_t
      - name: _vasprintf
        type: rtpp_module_vasprintf_t
      - name: '*auxp[]'
        type: void
      item_type: struct
      name: rtpp_minfo_fset
      pos:
        line_end: 171
        line_start: 161
        source_file: /src/rtpproxy/src/rtpp_module.h
    typedefs: []
    union: []
- function_names:
  - rtpp_acct_rtcp_ctor
  - rtpp_acct_rtcp_dtor
  source_file: /src/rtpproxy/src/rtpp_acct_rtcp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_acct_rtcp
      - name: _jt
        type: struct rtpa_stats_jitter
      item_type: struct
      name: rtpp_acct_rtcp_priv
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_acct_rtcp.c
    typedefs: []
    union: []
- function_names:
  - IS_WEIRD_ERRNO
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_command_reply.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GET_CMD_OK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (0)
    - item_type: preproc_def
      name: GET_CMD_IOERR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: GET_CMD_EOF
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: GET_CMD_ENOMEM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: GET_CMD_EAGAIN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: GET_CMD_INVAL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: RTPP_CMD_BUFLEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_command.h
      type_or_value: (8 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_tnotify_set_ctor
  - rtpp_tnotify_set_dtor
  - parse_hostport
  - parse_timeout_sock
  - rtpp_tnotify_set_append
  - get_tp4wp
  - rtpp_tnotify_set_lookup
  - rtpp_tnotify_set_isenabled
  source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_TNOTIFY_TARGETS_MAX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
      type_or_value: '64'
    - item_type: preproc_def
      name: RTPP_TNOTIFY_WILDCARDS_MAX
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CC_SELF_STR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
      type_or_value: '"%%CC_SELF%%"'
    structs:
    - fields:
      - name: '*socket_name'
        type: char
      - name: socket_type
        type: enum rtpp_tnotify_stype
      - name: port
        type: int
      item_type: struct
      name: rtpp_tnotify_wildcard
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
    - fields:
      - name: pub
        type: struct rtpp_tnotify_set
      - name: '*tp[RTPP_TNOTIFY_TARGETS_MAX]'
        type: struct rtpp_tnotify_target
      - name: tp_len
        type: int
      - name: '*wp[RTPP_TNOTIFY_WILDCARDS_MAX]'
        type: struct rtpp_tnotify_wildcard
      - name: wp_len
        type: int
      item_type: struct
      name: rtpp_tnotify_set_priv
      pos:
        line_end: 80
        line_start: 74
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
    typedefs: []
    union:
    - fields:
      - name: rtt
        type: struct rtpp_tnotify_target
      - name: rtw
        type: struct rtpp_tnotify_wildcard
      item_type: union
      name: rtpp_tnotify_entry
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.c
- function_names:
  - rtpp_pearson_shuffle
  - rtpp_pearson_hash8
  - rtpp_pearson_hash8b
  source_file: /src/rtpproxy/src/rtpp_pearson.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_proc_wakeup_run
  - rtpp_proc_wakeup_ctor
  - rtpp_proc_wakeup_dtor
  - rtpp_proc_wakeup_nudge
  source_file: /src/rtpproxy/src/rtpp_proc_wakeup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_WAKEUPS_PS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/src/rtpp_proc_wakeup.c
      type_or_value: '1000.0'
    structs:
    - fields:
      - name: pub
        type: struct rtpp_proc_wakeup
      - name: thread_id
        type: pthread_t
      - name: requested_i_wake
        type: int
      - name: delivered_i_wake
        type: int
      - name: mutex
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      - name: wakefds
        type: "struct {\n        union {\n            struct {\n                int
          rtp;\n                int rtcp;\n            };\n            int n[0];\n
          \       };\n    }"
      item_type: struct
      name: rtpp_proc_wakeup_priv
      pos:
        line_end: 70
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_proc_wakeup.c
    typedefs: []
    union: []
- function_names:
  - rtpp_wi_malloc_apis
  - rtpp_wi_apis_getname
  - rtpp_wi_apis_getnamearg
  source_file: /src/rtpproxy/src/rtpp_wi_apis.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_wi
      - name: '*apiname'
        type: char
      - name: msg_len
        type: size_t
      - name: msg[0]
        type: char
      item_type: struct
      name: rtpp_wi_apis
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_wi_apis.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_proc_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_log_str2lvl
  - rtpp_log_str2fac
  source_file: /src/rtpproxy/src/rtpp_log.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SEC
  - NSEC
  - USEC
  - timespeciszero
  - timevaliszero
  - timespec2dtime
  - ts2dtime
  - timeval2dtime
  source_file: /src/rtpproxy/src/rtpp_time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_CLOCK_MONO
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: CLOCK_UPTIME_PRECISE
    - item_type: preproc_def
      name: RTPP_MCLOCK_NAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: '"CLOCK_UPTIME_PRECISE"'
    - item_type: preproc_def
      name: RTPP_CLOCK_MONO
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: CLOCK_BOOTTIME
    - item_type: preproc_def
      name: RTPP_MCLOCK_NAME
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: '"CLOCK_BOOTTIME"'
    - item_type: preproc_def
      name: RTPP_CLOCK_MONO
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: CLOCK_MONOTONIC
    - item_type: preproc_def
      name: RTPP_MCLOCK_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: '"CLOCK_MONOTONIC"'
    - item_type: preproc_def
      name: RTPP_CLOCK_REAL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: CLOCK_REALTIME_PRECISE
    - item_type: preproc_def
      name: RTPP_RCLOCK_NAME
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: '"CLOCK_REALTIME_PRECISE"'
    - item_type: preproc_def
      name: RTPP_CLOCK_REAL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: CLOCK_REALTIME
    - item_type: preproc_def
      name: RTPP_RCLOCK_NAME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: '"CLOCK_REALTIME"'
    - item_type: preproc_def
      name: NSEC_MAX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: 1000000000L
    - item_type: preproc_def
      name: USEC_MAX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_time.h
      type_or_value: 1000000L
    structs:
    - fields:
      - name: wall
        type: double
      - name: mono
        type: double
      item_type: struct
      name: rtpp_timestamp
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/rtpproxy/src/rtpp_time.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_packetops.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_netio_async.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_polltbl_hst_alloc
  - rtpp_polltbl_hst_dtor
  - rtpp_polltbl_hst_extend
  - rtpp_polltbl_hst_record
  - rtpp_sessinfo_ctor
  - rtpp_sessinfo_dtor
  - rtpp_sinfo_append
  - find_polltbl_idx
  - RTPP_DBGCODE
  - rtpp_sinfo_update
  - rtpp_sinfo_remove
  - rtpp_polltbl_free
  - rtpp_sinfo_sync_polltbl
  source_file: /src/rtpproxy/src/rtpp_sessinfo.c
  types:
    enum:
    - enumerators:
      - name: HST_ADD
      - name: HST_UPD
      - name: HST_DEL
      item_type: enum
      name: polltbl_hst_ops
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    preproc_defs: []
    structs:
    - fields:
      - name: stuid
        type: uint64_t
      - name: op
        type: enum polltbl_hst_ops
      - name: '*skt'
        type: struct rtpp_socket
      item_type: struct
      name: rtpp_polltbl_hst_ent
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    - fields:
      - name: alen
        type: int
      - name: '*clog'
        type: struct rtpp_polltbl_hst_ent
      item_type: struct
      name: rtpp_polltbl_hst_part
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    - fields:
      - name: ulen
        type: int
      - name: ilen
        type: int
      - name: main
        type: struct rtpp_polltbl_hst_part
      - name: shadow
        type: struct rtpp_polltbl_hst_part
      - name: '*streams_wrt'
        type: struct rtpp_weakref
      - name: lock
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_polltbl_hst
      pos:
        line_end: 74
        line_start: 67
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    - fields:
      - name: pub
        type: struct rtpp_sessinfo
      - name: hst_rtp
        type: struct rtpp_polltbl_hst
      - name: hst_rtcp
        type: struct rtpp_polltbl_hst
      item_type: struct
      name: rtpp_sessinfo_priv
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/rtpproxy/src/rtpp_sessinfo.c
    typedefs: []
    union: []
- function_names:
  - _recvfromto
  - recvfromto
  - recvfromto_mono
  source_file: /src/rtpproxy/src/rtpp_network_io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: hdr
        type: struct cmsghdr
      - name: buf[CMSG_SPACE(1024)]
        type: unsigned char
      item_type: union
      name: cmsgbuf
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_network_io.c
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_proc_ttl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dtor
        type: rtpp_proc_ttl_dtor_t
      item_type: struct
      name: rtpp_proc_ttl
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_proc_ttl.h
    typedefs: []
    union: []
- function_names:
  - rtpp_zmalloc
  - rtpp_rzmalloc
  - rtpp_rmalloc
  source_file: /src/rtpproxy/src/rtpp_mallocs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_epoll_create
  - rtpp_epoll_ctl
  - append_kevent
  - rtpp_epoll_wait
  source_file: /src/rtpproxy/src/rtpp_epoll.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_wi_malloc_sgnl_memdeb
  - rtpp_wi_sgnl_get_data
  - rtpp_wi_sgnl_get_signum
  source_file: /src/rtpproxy/src/rtpp_wi_sgnl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_wi
      - name: signum
        type: int
      - name: data_len
        type: size_t
      - name: data[0]
        type: char
      item_type: struct
      name: rtpp_wi_sgnl
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_wi_sgnl.c
    typedefs: []
    union: []
- function_names:
  - rtpp_acct_rtcp_OSIZE
  source_file: /src/rtpproxy/src/rtpp_acct_rtcp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*jt'
        type: struct rtpa_stats_jitter
      - name: '*call_id'
        type: char
      - name: '*pkt'
        type: struct rtp_packet
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_acct_rtcp
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_acct_rtcp.h
    typedefs: []
    union: []
- function_names:
  - rtpp_genuid_ctor
  - rtpp_genuid_gen
  source_file: /src/rtpproxy/src/rtpp_genuid.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_genuid
      item_type: struct
      name: rtpp_genuid_priv
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_genuid.c
    typedefs: []
    union: []
- function_names:
  - RS_ULEN
  - rtpp_sbuf_ctor
  - rtpp_sbuf_extend
  - rtpp_sbuf_dtor
  source_file: /src/rtpproxy/src/rtpp_sbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SBW_OK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_sbuf.h
      type_or_value: (0)
    - item_type: preproc_def
      name: SBW_ERR
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_sbuf.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: SBW_SHRT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_sbuf.h
      type_or_value: (-2)
    structs:
    - fields:
      - name: alen
        type: int
      - name: '*bp'
        type: char
      - name: '*cp'
        type: char
      item_type: struct
      name: rtpp_sbuf
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_sbuf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_timeout_data.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*notify_target'
        type: struct rtpp_tnotify_target
      - name: '*notify_tag'
        type: rtpp_str_t
      item_type: struct
      name: rtpp_timeout_data
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_timeout_data.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_pearson_perfect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '* (*rtpp_pearson_getval_t)(void *, int)'
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/rtpproxy/src/rtpp_pearson_perfect.h
      type: char
    union: []
- function_names:
  - rtpp_glitch_connecthome
  - rtpp_glitch_callhome
  - AFLUSH
  - rtpp_glitch_init
  source_file: /src/rtpproxy/src/rtpp_glitch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MDG_ENAME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_glitch.c
      type_or_value: '"RTPP_GLITCH_TRIG"'
    - item_type: preproc_def
      name: MDG_ACT_ENAME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_glitch.c
      type_or_value: '"RTPP_GLITCH_ACT"'
    - item_type: preproc_def
      name: MDG_CH_PORT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_glitch.c
      type_or_value: '"RTPP_GLITCH_CH_PORT"'
    structs:
    - fields:
      - name: _glav_orig
        type: int
      - name: iport
        type: int
      - name: mysocket
        type: int
      - name: mypid
        type: int
      - name: glopts
        type: struct rtpp_glitch_opts
      item_type: struct
      name: mg_data
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_glitch.c
    typedefs: []
    union: []
- function_names:
  - rtpp_cmd_rcache_ctor
  - rtpp_cmd_rcache_entry_free
  - rtpp_cmd_rcache_insert
  - rtpp_cmd_rcache_lookup
  - rtpp_cmd_rcache_shutdown
  - rtpp_cmd_rcache_dtor
  - rtpp_cmd_rcache_ematch
  - rtpp_cmd_rcache_cleanup
  source_file: /src/rtpproxy/src/rtpp_command_rcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_RCACHE_CPERD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_command_rcache.c
      type_or_value: '3.0'
    structs:
    - fields:
      - name: pub
        type: struct rtpp_cmd_rcache
      - name: min_ttl
        type: double
      - name: '*ht'
        type: struct rtpp_hash_table
      - name: '*timeout'
        type: struct rtpp_timed_task
      - name: timeout_rval
        type: int
      item_type: struct
      name: rtpp_cmd_rcache_pvt
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_command_rcache.c
    - fields:
      - name: pub
        type: struct rtpp_cmd_rcache_entry
      - name: reply
        type: rtpp_str_const_t
      - name: '*reply_rcnt'
        type: struct rtpp_refcnt
      - name: etime
        type: double
      item_type: struct
      name: rtpp_cmd_rcache_entry_pvt
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/rtpproxy/src/rtpp_command_rcache.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_stats.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pthread_create
  - pthread_mutex_init
  - socket
  - listen
  - bind
  - accept
  - send
  - connect
  - chmod
  - fstat
  - stat
  - getaddrinfo
  - open
  - fcntl
  - getrlimit
  - setrlimit
  - dup2
  - setuid
  - setgid
  - pipe
  - write
  - setsid
  - fork
  - realpath
  - mmap
  - dlopen
  - dlerror
  - dlsym
  - fwrite
  source_file: /src/rtpproxy/src/rtpp_autoglitch.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_rw_lock.h
  types:
    enum:
    - enumerators:
      - name: RTPP_RW_LOCK_RD
      - name: RTPP_RW_LOCK_WR
      item_type: enum
      name: rtpp_rw_lock_mode
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_rw_lock.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_pcount.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nrelayed
        type: unsigned long
      - name: ndropped
        type: unsigned long
      - name: nignored
        type: unsigned long
      item_type: struct
      name: rtpps_pcount
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_pcount.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_pcnts_strm.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: npkts_in
        type: unsigned long
      - name: first_pkt_rcv
        type: struct rtpp_timestamp
      - name: last_pkt_rcv
        type: struct rtpp_timestamp
      - name: longest_ipi
        type: double
      item_type: struct
      name: rtpp_pcnts_strm
      pos:
        line_end: 40
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_pcnts_strm.h
    typedefs: []
    union: []
- function_names:
  - rtpp_server_ctor
  - rtpp_server_dtor
  - rtpp_server_get
  - rtpp_server_get_ssrc
  - rtpp_server_set_ssrc
  - rtpp_server_get_seq
  - rtpp_server_set_seq
  - rtpp_server_start
  source_file: /src/rtpproxy/src/rtpp_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPS_TICKS_MIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_server.c
      type_or_value: '10'
    - item_type: preproc_def
      name: RTPS_SRATE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_server.c
      type_or_value: '8000'
    structs:
    - fields:
      - name: pub
        type: struct rtpp_server
      - name: btime
        type: double
      - name: buf[1024]
        type: unsigned char
      - name: '*rtp'
        type: rtp_hdr_t
      - name: '*pload'
        type: unsigned char
      - name: fd
        type: int
      - name: loop
        type: int
      - name: dts
        type: uint64_t
      - name: ptime
        type: int
      - name: started
        type: int
      item_type: struct
      name: rtpp_server_priv
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_server.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_modman.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: count
        type: "struct {\n        unsigned int total;\n        unsigned int sess_acct;\n
          \   }"
      item_type: struct
      name: rtpp_modman
      pos:
        line_end: 55
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_modman.h
    typedefs: []
    union: []
- function_names:
  - NOT
  - err
  - errx
  - warn
  - warnx
  source_file: /src/rtpproxy/src/rtpp_util.h
  types:
    enum:
    - enumerators:
      - name: ATOI_OK
        value: '0'
      - name: ATOI_NOTINT
        value: '-1'
      - name: ATOI_OUTRANGE
        value: '-2'
      item_type: enum
      name: atoi_rval
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_util.h
    preproc_defs:
    - item_type: preproc_def
      name: INFTIM
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/src/rtpp_util.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ACCESSPERMS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/src/rtpp_util.h
      type_or_value: (S_IRWXU|S_IRWXG|S_IRWXO)
    - item_type: preproc_def
      name: DEFFILEMODE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/src/rtpp_util.h
      type_or_value: (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
    structs:
    - fields:
      - name: result
        type: int
      - name: pipe
        type: int
      - name: '*ok_msg'
        type: char
      - name: msglen
        type: size_t
      item_type: struct
      name: rtpp_daemon_rope
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_util.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_runcreds.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*uname'
        type: char
      - name: '*gname'
        type: char
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      - name: sock_mode
        type: mode_t
      item_type: struct
      name: rtpp_runcreds
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/rtpproxy/src/rtpp_runcreds.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_tnotify_set.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dtor
        type: rtpp_tn_set_dtor_t
      - name: append
        type: rtpp_tn_set_append_t
      - name: lookup
        type: rtpp_tn_set_lookup_t
      - name: isenabled
        type: rtpp_tn_set_isenabled_t
      item_type: struct
      name: rtpp_tnotify_set
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_tnotify_set.h
    typedefs: []
    union: []
- function_names:
  - rtpp_pcache_ctor
  - rtpp_pcache_open
  - rtpp_pcache_close
  - rtpp_pcache_read
  - rtpp_pcache_dtor
  source_file: /src/rtpproxy/src/rtpp_pcache.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*real'
        type: struct rtpp_pcache
      - name: '*hash_table'
        type: struct rtpp_hash_table
      item_type: struct
      name: rtpp_pcache_priv
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/rtpproxy/src/rtpp_pcache.c
    - fields:
      - name: pub
        type: struct rtpp_pcache
      - name: pvt
        type: struct rtpp_pcache_priv
      item_type: struct
      name: rtpp_pcache_full
      pos:
        line_end: 20
        line_start: 17
        source_file: /src/rtpproxy/src/rtpp_pcache.c
    - fields:
      - name: cpos
        type: off_t
      - name: '*hte'
        type: struct rtpp_hash_table_entry
      item_type: struct
      name: rtpp_pcache_fd
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/rtpproxy/src/rtpp_pcache.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  - _GET_ARG_3
  - _RC_CHOOSE
  - _RC_REF_1
  - _RC_REF_2
  - RC_INCREF
  - RC_DECREF
  source_file: /src/rtpproxy/src/rtpp_refcnt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_DTORS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_refcnt.h
      type_or_value: '24'
    - item_type: preproc_def
      name: CACHELINE_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_refcnt.h
      type_or_value: '64'
    structs:
    - fields: []
      item_type: struct
      name: rtpp_refcnt
      pos:
        line_end: 71
        line_start: 63
        source_file: /src/rtpproxy/src/rtpp_refcnt.h
    typedefs:
    - item_type: typedef
      name: (*rtpp_refcnt_dtor_t)(void *)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_refcnt.h
      type: void
    union: []
- function_names:
  - rtpp_log_open
  - rtpp_log_setlevel
  - rtpp_log_write
  - rtpp_log_write_va
  - _rtpp_log_write_va
  - rtpp_log_ewrite
  - rtpp_log_ewrite_va
  - _rtpp_log_ewrite_va
  - rtpp_log_close
  - rtpp_log_write
  source_file: /src/rtpproxy/src/rtpp_log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: rtpp_log_t
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: siplog_t
    - item_type: preproc_def
      name: RTPP_LOG_DBUG
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: SIPLOG_DBUG
    - item_type: preproc_def
      name: RTPP_LOG_INFO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: SIPLOG_INFO
    - item_type: preproc_def
      name: RTPP_LOG_WARN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: SIPLOG_WARN
    - item_type: preproc_def
      name: RTPP_LOG_ERR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: SIPLOG_ERR
    - item_type: preproc_def
      name: RTPP_LOG_CRIT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: SIPLOG_CRIT
    - item_type: preproc_def
      name: RTPP_LOG_DBUG
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RTPP_LOG_INFO
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: RTPP_LOG_ERR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: rtpp_log_t
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_log.h
      type_or_value: void *
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_record_adhoc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sin_family
        type: sa_family_t
      - name: sin_port
        type: in_port_t
      - name: sin_addr
        type: struct in_addr
      item_type: struct
      name: sockaddr_in4_s
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_record_adhoc.h
    - fields:
      - name: sin_family
        type: sa_family_t
      - name: sin_port
        type: in_port_t
      - name: sin_addr
        type: struct in6_addr
      item_type: struct
      name: sockaddr_in6_s
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_record_adhoc.h
    - fields:
      - name: addr
        type: union sockaddr_in_s
      - name: time
        type: double
      - name: plen
        type: unsigned short
      item_type: struct
      name: pkt_hdr_adhoc
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_record_adhoc.h
    typedefs: []
    union:
    - fields:
      - name: in4
        type: struct sockaddr_in4_s
      - name: in6
        type: struct sockaddr_in6_s
      item_type: union
      name: sockaddr_in_s
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_record_adhoc.h
- function_names:
  - SSRC_IS_BAD
  source_file: /src/rtpproxy/src/rtpp_ssrc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSRC_FMT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/src/rtpp_ssrc.h
      type_or_value: '"0x%.8X"'
    - item_type: preproc_def
      name: SSRC_BAD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_ssrc.h
      type_or_value: '0x0'
    structs:
    - fields:
      - name: val
        type: uint32_t
      - name: inited
        type: unsigned int
      item_type: struct
      name: rtpp_ssrc
      pos:
        line_end: 38
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_ssrc.h
    typedefs: []
    union: []
- function_names:
  - rtpp_log_ctor
  - rtpp_log_obj_dtor
  - rtpp_log_obj_setlevel
  - rtpp_log_obj_setlevel_early
  - rtpp_log_obj_write
  - rtpp_log_obj_ewrite
  - rtpp_log_obj_write_early
  - rtpp_log_obj_ewrite_early
  - rtpp_log_obj_start
  source_file: /src/rtpproxy/src/rtpp_log_obj.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_log
      - name: '*app'
        type: char
      - name: '*call_id'
        type: char
      - name: flags
        type: int
      - name: level
        type: int
      - name: log
        type: rtpp_log_t
      item_type: struct
      name: rtpp_log_priv
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_log_obj.c
    typedefs: []
    union: []
- function_names:
  - taint
  - update_derived_stats
  - worker_run
  - worker_run_b2b_batch
  - RPRINT
  - main
  source_file: /src/rtpproxy/src/rtpp_objck.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nitems
        type: uint64_t
      - name: runtime
        type: double
      - name: done
        type: atomic_bool
      item_type: struct
      name: test_data
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - fields:
      - name: queue_p2c
        type: struct test_data
      - name: queue_b2b
        type: struct test_data
      - name: wi_malloc_udata
        type: struct test_data
      - name: wi_malloc_data
        type: struct test_data
      - name: wi_malloc_pkt
        type: struct test_data
      item_type: struct
      name: tests
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - fields:
      - name: '*rsp'
        type: struct rtpp_stats
      - name: '*fqp'
        type: struct rtpp_queue
      - name: '*bqp'
        type: struct rtpp_queue
      - name: '*sigterm'
        type: struct rtpp_wi
      - name: tick
        type: int
      - name: '*tdp'
        type: struct test_data
      item_type: struct
      name: thr_args
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/rtpproxy/src/rtpp_objck.c
    - fields:
      - name: '*cp'
        type: char
      - name: '*answerp'
        type: unsigned long long
      item_type: struct
      name: sgnl_pload
      pos:
        line_end: 103
        line_start: 100
        source_file: /src/rtpproxy/src/rtpp_objck.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/librtpproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_port_table.h
  types:
    enum:
    - enumerators:
      - name: RTPP_PTU_BRKERR
        value: '-1'
      - name: RTPP_PTU_OK
        value: '0'
      - name: RTPP_PTU_ONEMORE
      item_type: enum
      name: rtpp_ptu_rval
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_port_table.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_port_table
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_port_table.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_analyzer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CODEPTR_FMT
  source_file: /src/rtpproxy/src/rtpp_codeptr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HERETYPE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_codeptr.h
      type_or_value: const struct rtpp_codeptr *
    - item_type: preproc_def
      name: HEREVAL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_codeptr.h
      type_or_value: ({static const struct rtpp_codeptr _here = {.fname = __FILE__,
        .linen = __LINE__, .funcn = __func__}; &_here;})
    - item_type: preproc_def
      name: HEREARG
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_codeptr.h
      type_or_value: mlp
    - item_type: preproc_def
      name: HERETYPEARG
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_codeptr.h
      type_or_value: HERETYPE HEREARG
    structs:
    - fields:
      - name: '*fname'
        type: char
      - name: linen
        type: int
      - name: '*funcn'
        type: char
      item_type: struct
      name: rtpp_codeptr
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_codeptr.h
    typedefs:
    - item_type: typedef
      name: '* here_t'
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_codeptr.h
      type: rtpp_codeptr
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_network_io.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HT_GET
  - HT_GETREF
  - rtpp_hash_table_l1_sizeof
  - rtpp_hash_table_ctor
  - hash_table_dtor
  - rtpp_ht_hashkey
  - rtpp_ht_get_keysize
  - rtpp_ht_cmpkey
  - rtpp_ht_cmpkey2
  - hash_table_on_coll
  - hash_table_before_insert
  - hash_table_after_insert
  - hash_table_insert_locked
  - hash_table_insert
  - hash_table_append_raw
  - hash_table_append_refcnt
  - hash_table_append_str_refcnt
  - hash_table_remove_locked
  - hash_table_remove_raw
  - hash_table_remove
  - hash_table_remove_str
  - hash_table_remove_by_key_raw
  - hash_table_remove_by_key
  - hash_table_transfer
  - hash_table_find_raw
  - hash_table_find
  - hash_table_find_str
  - VDTE_MVAL
  - hash_table_foreach_rc
  - ematch_rc2norc
  - hash_table_foreach
  - hash_table_foreach_key_raw
  - hash_table_foreach_key
  - hash_table_foreach_key_str
  - hash_table_get_length
  - hash_table_purge_f
  - hash_table_purge
  - hash_table_resize_locked
  source_file: /src/rtpproxy/src/rtpp_hash_table.c
  types:
    enum:
    - enumerators:
      - name: rtpp_hte_naive_t
        value: '0'
      - name: rtpp_hte_refcnt_t
      item_type: enum
      name: rtpp_hte_types
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    preproc_defs:
    - item_type: preproc_def
      name: PURGE_BATCH
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
      type_or_value: '64'
    structs:
    - fields:
      - name: '*prev'
        type: struct rtpp_hash_table_entry
      - name: '*next'
        type: struct rtpp_hash_table_entry
      - name: '*sptr'
        type: void
      - name: key
        type: "union {\n        char *ch;\n        uint64_t u64;\n        uint32_t
          u32;\n        uint16_t u16;\n    }"
      - name: hash
        type: uint64_t
      - name: klen
        type: size_t
      - name: hte_type
        type: enum rtpp_hte_types
      - name: chstor[0]
        type: char
      item_type: struct
      name: rtpp_hash_table_entry
      pos:
        line_end: 62
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    - fields: []
      item_type: struct
      name: rtpp_ht_cntrs
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    - fields:
      - name: hte_num
        type: int
      - name: ht_len
        type: size_t
      - name: '*hash_table[0]'
        type: struct rtpp_hash_table_entry
      item_type: struct
      name: rtpp_hash_table_l1
      pos:
        line_end: 87
        line_start: 79
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    - fields:
      - name: pub
        type: struct rtpp_hash_table
      - name: hash_table_lock
        type: pthread_mutex_t
      - name: key_type
        type: enum rtpp_ht_key_types
      - name: flags
        type: int
      - name: '*l1'
        type: struct rtpp_hash_table_l1
      item_type: struct
      name: rtpp_hash_table_priv
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    - fields:
      - name: hte_ematch
        type: rtpp_hash_table_match_t
      - name: '*marg'
        type: void
      item_type: struct
      name: rc2norc_args
      pos:
        line_end: 666
        line_start: 663
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    - fields:
      - name: '*rptrs[PURGE_BATCH]'
        type: struct rtpp_refcnt
      - name: n
        type: int
      item_type: struct
      name: purge_batch
      pos:
        line_end: 762
        line_start: 759
        source_file: /src/rtpproxy/src/rtpp_hash_table.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_parse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _RTPP_COMMAND_PARSE_H_
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_command_parse.h
      type_or_value: struct rtpp_command;
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_proc_async.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*netio'
        type: struct rtpp_anetio_cf
      - name: nudge
        type: rtpp_proc_async_nudge_t
      item_type: struct
      name: rtpp_proc_async
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_proc_async.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_stream.h
  types:
    enum:
    - enumerators:
      - name: RTPP_SSIDE_CALLER
        value: '1'
      - name: RTPP_SSIDE_CALLEE
        value: '0'
      item_type: enum
      name: rtpp_stream_side
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_stream.h
    - enumerators:
      - name: RTPLM_NORMAL
        value: '0'
      - name: RTPLM_FORCE_OFF
      - name: RTPLM_FORCE_ON
      item_type: enum
      name: rtpps_latch_mode
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_stream.h
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_S_RX_DCONT
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/rtpproxy/src/rtpp_stream.h
      type_or_value: (void *)((char *)NULL + 1)
    structs:
    - fields:
      - name: side
        type: enum rtpp_stream_side
      - name: '*pipe_cap'
        type: struct r_pipe_ctor_args
      item_type: struct
      name: r_stream_ctor_args
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/rtpproxy/src/rtpp_stream.h
    - fields:
      - name: '*codecs'
        type: char
      - name: '*pname'
        type: char
      - name: playcount
        type: int
      - name: '*cmd'
        type: struct rtpp_command
      - name: ptime
        type: int
      - name: '*guid'
        type: struct rtpp_genuid
      item_type: struct
      name: r_stream_h_play_args
      pos:
        line_end: 67
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_stream.h
    - fields:
      - name: nmodules
        type: unsigned int
      item_type: struct
      name: pmod_data
      pos:
        line_end: 152
        line_start: 149
        source_file: /src/rtpproxy/src/rtpp_stream.h
    typedefs: []
    union: []
- function_names:
  - seedrandom
  - set_rlimits
  - drop_privileges
  - rtpp_strsep
  - rtpp_daemon_parent
  - rtpp_daemon_rel_parent
  - rtpp_daemon
  - url_unquote2
  - url_unquote
  - url_quote
  - atoi_safe_sep
  - atoi_safe
  - atoi_saferange
  - rtpp_parse_rtp_rtcp_val
  - strtol_saferange
  - rtpp_get_sched_hz_linux
  - rtpp_get_sched_hz
  - rtpp_get_sched_hz
  - strlcpy
  - populate
  - haszero
  - rtpp_strsplit
  - generate_random_string
  source_file: /src/rtpproxy/src/rtpp_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bindarg_parse
  - ba_firstidx
  - init_bindaddrs
  source_file: /src/rtpproxy/src/rtpp_bindargs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_record.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECORD_RTP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_record.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RECORD_RTCP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_record.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RECORD_BOTH
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_record.h
      type_or_value: '2'
    structs:
    - fields:
      - name: rhost[NI_MAXHOST]
        type: char
      - name: '*rport'
        type: char
      - name: idx
        type: int
      - name: '*laddr'
        type: struct rtpp_bindaddr
      - name: lport
        type: int
      - name: '*fds[2]'
        type: struct rtpp_socket
      - name: tos
        type: int
      item_type: struct
      name: remote_copy_args
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_record.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_packetport.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_coverage.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_rw_lock_dtor
  - rtpp_rw_lock_ctor
  - rtpp_rw_lock_lock
  - rtpp_rw_lock_unlock
  - rtpp_rw_lock_upgrade
  source_file: /src/rtpproxy/src/rtpp_rw_lock.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_rw_lock
      - name: cnt_lock
        type: pthread_mutex_t
      - name: write_lock
        type: pthread_mutex_t
      - name: nreaders
        type: int
      - name: nwriters
        type: int
      item_type: struct
      name: rtpp_rw_lock_priv
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_rw_lock.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_weakref.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_WR_MATCH_BRK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_weakref.h
      type_or_value: RTPP_HT_MATCH_BRK
    - item_type: preproc_def
      name: RTPP_WR_MATCH_CONT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_weakref.h
      type_or_value: RTPP_HT_MATCH_CONT
    - item_type: preproc_def
      name: RTPP_WR_MATCH_DEL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_weakref.h
      type_or_value: RTPP_HT_MATCH_DEL
    structs: []
    typedefs: []
    union: []
- function_names:
  - flush_rstats
  - init_rstats
  - rtpp_proc_async_run
  - RTPP_DBGCODE
  - RTPP_DBGCODE
  - rtpp_proc_async_thread_init
  - rtpp_proc_async_thread_destroy
  - relay_packet
  - record_packet
  - rtpp_proc_async_ctor
  - rtpp_proc_async_dtor
  - rtpp_proc_async_nudge
  source_file: /src/rtpproxy/src/rtpp_proc_async.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: thread_id
        type: pthread_t
      - name: pipe_type
        type: int
      - name: ptbl
        type: struct rtpp_polltbl
      - name: '*proc_cf'
        type: struct rtpp_proc_async_cf
      - name: rstats
        type: struct rtpp_proc_rstats
      - name: '*events'
        type: struct epoll_event
      - name: events_alloc
        type: int
      item_type: struct
      name: rtpp_proc_thread_cf
      pos:
        line_end: 90
        line_start: 81
        source_file: /src/rtpproxy/src/rtpp_proc_async.c
    - fields:
      - name: pub
        type: struct rtpp_proc_async
      - name: '*cf_save'
        type: struct rtpp_cfg
      - name: rtp_thread
        type: struct rtpp_proc_thread_cf
      - name: rtcp_thread
        type: struct rtpp_proc_thread_cf
      - name: '*wakeup_cf'
        type: struct rtpp_proc_wakeup
      - name: npkts_relayed_idx
        type: int
      item_type: struct
      name: rtpp_proc_async_cf
      pos:
        line_end: 99
        line_start: 92
        source_file: /src/rtpproxy/src/rtpp_proc_async.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtp_packet_priv.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*wi'
        type: struct rtpp_wi
      - name: rinfo
        type: struct rtp_info
      - name: wip
        type: struct rtpp_wi_pvt
      item_type: struct
      name: rtp_packet_priv
      pos:
        line_end: 11
        line_start: 7
        source_file: /src/rtpproxy/src/rtp_packet_priv.h
    - fields:
      - name: pub
        type: struct rtp_packet
      - name: pvt
        type: struct rtp_packet_priv
      item_type: struct
      name: rtp_packet_full
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/rtpproxy/src/rtp_packet_priv.h
    typedefs: []
    union: []
- function_names:
  - rtpp_acct_OSIZE
  source_file: /src/rtpproxy/src/rtpp_acct.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: seuid
        type: uint64_t
      - name: rtp
        type: struct rtpp_acct_pipe
      - name: rtcp
        type: struct rtpp_acct_pipe
      - name: '*rasto'
        type: struct rtpa_stats
      - name: '*rasta'
        type: struct rtpa_stats
      - name: '*jrasto'
        type: struct rtpa_stats_jitter
      - name: '*jrasta'
        type: struct rtpa_stats_jitter
      - name: '*call_id'
        type: char
      - name: '*from_tag'
        type: char
      - name: '*to_tag'
        type: char
      - name: '*init_ts'
        type: struct rtpp_timestamp
      - name: '*destroy_ts'
        type: struct rtpp_timestamp
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_acct
      pos:
        line_end: 56
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_acct.h
    typedefs: []
    union: []
- function_names:
  - process_rtp_servers_foreach
  - run_servers
  - rtpp_proc_servers_run
  - rtpp_proc_servers_dtor
  - rtpp_proc_servers_ctor
  - rtpp_proc_servers_reg
  - rtpp_proc_servers_plr_start
  - rtpp_proc_servers_unreg
  source_file: /src/rtpproxy/src/rtpp_proc_servers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_proc_servers
      - name: '*netio'
        type: struct rtpp_anetio_cf
      - name: '*cfsp'
        type: struct rtpp_cfg
      - name: npkts_played
        type: struct rtpp_proc_stat
      - name: thread_id
        type: pthread_t
      - name: '*cmd_q'
        type: struct rtpp_queue
      - name: '*sigterm'
        type: struct rtpp_wi
      - name: '*act_servers'
        type: struct rtpp_weakref
      - name: '*inact_servers'
        type: struct rtpp_weakref
      item_type: struct
      name: rtpp_proc_servers_priv
      pos:
        line_end: 80
        line_start: 70
        source_file: /src/rtpproxy/src/rtpp_proc_servers.c
    - fields:
      - name: dtime
        type: double
      - name: '*sender'
        type: struct sthread_args
      - name: '*npkts_played'
        type: struct rtpp_proc_stat
      - name: '*cfsp'
        type: struct rtpp_cfg
      - name: '*inact_servers'
        type: struct rtpp_weakref
      item_type: struct
      name: foreach_args
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/rtpproxy/src/rtpp_proc_servers.c
    typedefs: []
    union: []
- function_names:
  - RTP_PKT_COPYOFF
  source_file: /src/rtpproxy/src/rtp_packet.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RPKT_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/src/rtp_packet.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: RTPP_DUP_HDRONLY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/src/rtp_packet.h
      type_or_value: '0x1    '
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtp_packet
      pos:
        line_end: 68
        line_start: 38
        source_file: /src/rtpproxy/src/rtp_packet.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_notify.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: schedule
        type: rtpp_notify_schedule_t
      item_type: struct
      name: rtpp_notify
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_notify.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_hash_table.h
  types:
    enum:
    - enumerators:
      - name: rtpp_ht_key_str_t
        value: '0'
      - name: rtpp_ht_key_u16_t
      - name: rtpp_ht_key_u32_t
      - name: rtpp_ht_key_u64_t
      item_type: enum
      name: rtpp_ht_key_types
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_HT_NODUPS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: RTPP_HT_DUP_ABRT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: RTPP_HT_MATCH_CONT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
      type_or_value: (0 << 0)
    - item_type: preproc_def
      name: RTPP_HT_MATCH_BRK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: RTPP_HT_MATCH_DEL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: first
        type: unsigned
      - name: last
        type: unsigned
      item_type: struct
      name: rtpp_ht_opstats
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_hash_table.h
    typedefs: []
    union: []
- function_names:
  - _rtpp_log_open
  - _rtpp_log_close
  - strlvl
  - rtpp_log_str2lvl
  - check_level
  - rtpp_log_setlevel
  - ftime
  - _rtpp_log_lock
  - _rtpp_log_unlock
  - _rtpp_log_write_va
  - _rtpp_log_ewrite_va
  - rtpp_log_str2fac
  source_file: /src/rtpproxy/src/rtpp_log_stand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_LOG_ADVANCED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_log_stand.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CALL_ID_NONE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_log_stand.c
      type_or_value: '"GLOBAL"'
    structs:
    - fields: []
      item_type: struct
      name: _log_lock = {0}
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_log_stand.c
    - fields:
      - name: '*call_id'
        type: char
      - name: level
        type: int
      - name: '*format_sl[2]'
        type: char
      - name: '*eformat_sl[2]'
        type: char
      - name: '*format_se[2]'
        type: char
      - name: '*eformat_se[2]'
        type: char
      - name: itime
        type: double
      - name: log_stderr
        type: int
      item_type: struct
      name: rtpp_log_inst
      pos:
        line_end: 72
        line_start: 63
        source_file: /src/rtpproxy/src/rtpp_log_stand.c
    - fields:
      - name: '*str_fac'
        type: char
      - name: int_fac
        type: int
      item_type: struct
      name: "str2fac[] = {\n    {\"LOG_AUTH\",     LOG_AUTH},\n    {\"LOG_CRON\",
        \    LOG_CRON},\n    {\"LOG_DAEMON\",   LOG_DAEMON},\n    {\"LOG_KERN\",     LOG_KERN},\n
        \   {\"LOG_LOCAL0\",   LOG_LOCAL0},\n    {\"LOG_LOCAL1\",   LOG_LOCAL1},\n
        \   {\"LOG_LOCAL2\",   LOG_LOCAL2},\n    {\"LOG_LOCAL3\",   LOG_LOCAL3},\n
        \   {\"LOG_LOCAL4\",   LOG_LOCAL4},\n    {\"LOG_LOCAL5\",   LOG_LOCAL5},\n
        \   {\"LOG_LOCAL6\",   LOG_LOCAL6},\n    {\"LOG_LOCAL7\",   LOG_LOCAL7},\n
        \   {\"LOG_LPR\",      LOG_LPR},\n    {\"LOG_MAIL\",     LOG_MAIL},\n    {\"LOG_NEWS\",
        \    LOG_NEWS},\n    {\"LOG_USER\",     LOG_USER},\n    {\"LOG_UUCP\",     LOG_UUCP},\n#if
        !defined(__solaris__) && !defined(__sun) && !defined(__svr4__)\n    {\"LOG_AUTHPRIV\",
        LOG_AUTHPRIV},\n    {\"LOG_FTP\",      LOG_FTP},\n    {\"LOG_SYSLOG\",   LOG_SYSLOG},\n#endif\n
        \   {NULL,           0}\n}"
      pos:
        line_end: 345
        line_start: 342
        source_file: /src/rtpproxy/src/rtpp_log_stand.c
    typedefs: []
    union: []
- function_names:
  - rtpp_log_open
  - rtpp_log_write_va
  - rtpp_log_ewrite_va
  - rtpp_log_close
  source_file: /src/rtpproxy/src/rtpp_log_stand.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: rtpp_log_t
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: struct rtpp_log_inst *
    - item_type: preproc_def
      name: LF_REOPEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RTPP_LOG_DBUG
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: LOG_DEBUG
    - item_type: preproc_def
      name: RTPP_LOG_INFO
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: LOG_INFO
    - item_type: preproc_def
      name: RTPP_LOG_WARN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: LOG_WARNING
    - item_type: preproc_def
      name: RTPP_LOG_ERR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: LOG_ERR
    - item_type: preproc_def
      name: RTPP_LOG_CRIT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_log_stand.h
      type_or_value: LOG_CRIT
    structs: []
    typedefs: []
    union: []
- function_names:
  - circ_buf_isempty
  - circ_buf_push
  - circ_buf_popmany
  - circ_buf_peek
  - circ_buf_replace
  - circ_buf_remove
  - rtpp_queue_init
  - rtpp_queue_setmaxlen
  - rtpp_queue_destroy
  - rtpp_queue_getclen
  - rtpp_queue_extract_items
  - rtpp_queue_setqlen
  - rtpp_queue_put_item
  - rtpp_queue_pump
  - rtpp_queue_wakeup
  - rtpp_queue_get_item_by
  - rtpp_queue_get_item
  - rtpp_queue_get_items
  - rtpp_queue_get_items_by
  - rtpp_queue_get_length
  - rtpp_queue_count_matching
  - rtpp_queue_get_first_matching
  source_file: /src/rtpproxy/src/rtpp_queue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPQ_DEBUG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_queue.c
      type_or_value: '0'
    structs:
    - fields:
      - name: buflen
        type: unsigned int
      - name: head
        type: unsigned int
      - name: tail
        type: unsigned int
      - name: '*buffer[0]'
        type: struct rtpp_wi
      item_type: struct
      name: circ_buf_t
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/rtpproxy/src/rtpp_queue.c
    - fields:
      - name: '*head'
        type: struct rtpp_wi
      - name: '*tail'
        type: struct rtpp_wi
      - name: cond
        type: pthread_cond_t
      - name: mutex
        type: pthread_mutex_t
      - name: length
        type: unsigned int
      - name: qlen
        type: unsigned int
      - name: mlen
        type: unsigned int
      - name: circb
        type: circ_buf_t
      - name: name[128]
        type: char
      item_type: struct
      name: rtpp_queue
      pos:
        line_end: 229
        line_start: 218
        source_file: /src/rtpproxy/src/rtpp_queue.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_ttl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_module_wthr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: queue_size
        type: int
      - name: main_thread
        type: rtpp_module_worker_t
      item_type: struct
      name: rtpp_wthr_handlers
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_module_wthr.h
    typedefs: []
    union: []
- function_names:
  - rtpp_gcov_flush
  - is_gcov_on
  source_file: /src/rtpproxy/src/rtpp_coverage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_stacktrace.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_socket.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_aligned_malloc
  - rtpp_zmalloc_memdeb
  - PpP
  - rtpp_rzmalloc_memdeb
  - rtpp_rmalloc_memdeb
  - rtpp_sys_malloc
  - rtpp_sys_free
  source_file: /src/rtpproxy/src/rtpp_mallocs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - syslog_queue_run
  - syslog_queue_init
  - syslog_queue_get_free_item
  - syslog_queue_put_item
  - syslog_async_atexit
  - syslog_async_init
  - vsyslog_async
  source_file: /src/rtpproxy/src/rtpp_syslog_async.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYSLOG_WI_POOL_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_syslog_async.c
      type_or_value: '64'
    - item_type: preproc_def
      name: SYSLOG_WI_DATA_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_syslog_async.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: SYSLOG_WI_NOWAIT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/src/rtpp_syslog_async.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SYSLOG_WI_WAIT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/rtpproxy/src/rtpp_syslog_async.c
      type_or_value: '1'
    structs:
    - fields:
      - name: item_type
        type: item_types
      - name: data[SYSLOG_WI_DATA_LEN]
        type: char
      - name: len
        type: int
      - name: priority
        type: int
      - name: '*next'
        type: struct syslog_wi
      item_type: struct
      name: syslog_wi
      pos:
        line_end: 63
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_syslog_async.c
    typedefs: []
    union: []
- function_names:
  - rtpp_ttl_ctor
  - rtpp_ttl_dtor
  - rtpp_ttl_reset
  - rtpp_ttl_reset_with
  - rtpp_ttl_get_remaining
  - rtpp_ttl_decr
  source_file: /src/rtpproxy/src/rtpp_ttl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_ttl
      item_type: struct
      name: rtpp_ttl_priv
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_ttl.c
    typedefs: []
    union: []
- function_names:
  - init_cstats
  - FLUSH_CSTAT
  - flush_cstats
  - accept_connection
  - process_commands
  - process_commands_stream
  - rtpp_cmd_connection_ctor
  - rtpp_cmd_connection_dtor
  - rtpp_cmd_acceptor_run
  - rtpp_cmd_queue_run
  - rtpp_command_async_get_aload
  - rtpp_command_async_wakeup
  - rtpp_command_async_reg_overload
  - rtpp_command_async_chk_overload
  - init_pollset
  - free_pollset
  - init_accptset
  - free_accptset
  - rtpp_command_async_ctor
  - rtpp_command_async_dtor
  source_file: /src/rtpproxy/src/rtpp_command_async.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPC_MAX_CONNECTIONS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/src/rtpp_command_async.c
      type_or_value: '100'
    structs:
    - fields:
      - name: '*pfds'
        type: struct pollfd
      - name: pfds_used
        type: int
      - name: '*rccs[RTPC_MAX_CONNECTIONS + 1]'
        type: struct rtpp_cmd_connection
      - name: pfds_mutex
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_cmd_pollset
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/rtpproxy/src/rtpp_command_async.c
    - fields:
      - name: '*pfds'
        type: struct pollfd
      - name: '**csocks'
        type: struct rtpp_ctrl_sock
      - name: pfds_used
        type: int
      item_type: struct
      name: rtpp_cmd_accptset
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/rtpproxy/src/rtpp_command_async.c
    - fields:
      - name: pub
        type: struct rtpp_cmd_async
      - name: thread_id
        type: pthread_t
      - name: acpt_thread_id
        type: pthread_t
      - name: cmd_mutex
        type: pthread_mutex_t
      - name: clock_tick
        type: int
      - name: tused
        type: double
      - name: tstate_queue
        type: int
      - name: tstate_acceptor
        type: int
      - name: acceptor_started
        type: int
      - name: overload
        type: int
      - name: cstats
        type: struct rtpp_command_stats
      - name: pset
        type: struct rtpp_cmd_pollset
      - name: wakefds[2]
        type: int
      - name: aset
        type: struct rtpp_cmd_accptset
      - name: '*cf_save'
        type: struct rtpp_cfg
      - name: '*rcache'
        type: struct rtpp_cmd_rcache
      item_type: struct
      name: rtpp_cmd_async_cf
      pos:
        line_end: 107
        line_start: 87
        source_file: /src/rtpproxy/src/rtpp_command_async.c
    typedefs: []
    union: []
- function_names:
  - RTPP_MD_STATS_ADD
  - RTPP_MD_STATS_SUB
  - RTPP_MD_STATS_CMP
  source_file: /src/rtpproxy/src/rtpp_memdeb_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nalloc
        type: int64_t
      - name: balloc
        type: int64_t
      - name: nunalloc_baseln
        type: int64_t
      - name: bunalloc_baseln
        type: int64_t
      - name: nfree
        type: int64_t
      - name: bfree
        type: int64_t
      - name: nrealloc
        type: int64_t
      - name: brealloc
        type: int64_t
      - name: afails
        type: int64_t
      item_type: struct
      name: memdeb_stats
      pos:
        line_end: 37
        line_start: 27
        source_file: /src/rtpproxy/src/rtpp_memdeb_stats.h
    typedefs: []
    union: []
- function_names:
  - NO_MED_NM
  - OW_MED_NM
  - MT2RT_NZ
  - DRTN_NZ
  - rtpp_pipe_ctor
  - rtpp_pipe_dtor
  - rtpp_pipe_get_ttl
  - rtpp_pipe_decr_ttl
  - rtpp_pipe_get_stats
  - rtpp_pipe_upd_cntrs
  source_file: /src/rtpproxy/src/rtpp_pipe.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pipe
      - name: '*streams_wrt'
        type: struct rtpp_weakref
      - name: pipe_type
        type: int
      item_type: struct
      name: rtpp_pipe_priv
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_pipe.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_wi_pkt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_args.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPC_MAX_ARGC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_command_args.h
      type_or_value: '24'
    structs:
    - fields:
      - name: c
        type: int
      - name: v[RTPC_MAX_ARGC]
        type: rtpp_str_const_t
      item_type: struct
      name: rtpp_command_args
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_command_args.h
    - fields:
      - name: c
        type: int
      - name: '*v'
        type: rtpp_str_t
      item_type: struct
      name: rtpp_command_argsp
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_command_args.h
    typedefs: []
    union: []
- function_names:
  - rtpp_static_modules_lookup
  - SET_FOREACH
  source_file: /src/rtpproxy/src/rtpp_module_if_static.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - addr2port
  - SA_LEN
  - SS_LEN
  - AF2STR
  - SA_AF2STR
  - satosin
  - satosin6
  - sstosa
  - sstosun
  - satoss
  - IS_VALID_PORT
  - IS_LAST_PORT
  source_file: /src/rtpproxy/src/rtpp_network.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AF_LOCAL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_network.h
      type_or_value: AF_UNIX
    - item_type: preproc_def
      name: MIN_UDP_PORT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/rtpproxy/src/rtpp_network.h
      type_or_value: (1)
    - item_type: preproc_def
      name: MAX_UDP_PORT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/rtpproxy/src/rtpp_network.h
      type_or_value: (65535)
    - item_type: preproc_def
      name: INET6_ADDR_STRLEN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/rtpproxy/src/rtpp_network.h
      type_or_value: '46'
    - item_type: preproc_def
      name: MAX_ADDR_STRLEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/rtpproxy/src/rtpp_network.h
      type_or_value: INET6_ADDR_STRLEN
    - item_type: preproc_def
      name: MAX_AP_STRBUF
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/rtpproxy/src/rtpp_network.h
      type_or_value: '54'
    structs:
    - fields:
      - name: '*a'
        type: struct sockaddr_storage
      - name: l
        type: socklen_t
      item_type: struct
      name: rtpp_sockaddr
      pos:
        line_end: 101
        line_start: 98
        source_file: /src/rtpproxy/src/rtpp_network.h
    typedefs: []
    union: []
- function_names:
  - create_listener
  - create_twinlistener
  - rtpp_create_listener
  - rtpp_command_ctor
  - rtpp_command_set_raddr
  - rtpp_command_get_raddr
  - rtpp_command_get_stats
  - get_command
  - ISAMPAMP
  - rtpp_command_guard_retrans
  - rtpp_command_split
  - handle_command
  - handle_info
  source_file: /src/rtpproxy/src/rtpp_command.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_command
      - name: ctx
        type: struct rtpp_command_ctx
      item_type: struct
      name: rtpp_command_priv
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/rtpproxy/src/rtpp_command.c
    - fields:
      - name: '*cfs'
        type: struct rtpp_cfg
      - name: '*ia'
        type: struct sockaddr
      - name: '**fds'
        type: struct rtpp_socket
      - name: '*port'
        type: int
      - name: tos
        type: int
      item_type: struct
      name: create_listener_args
      pos:
        line_end: 104
        line_start: 98
        source_file: /src/rtpproxy/src/rtpp_command.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_epoll.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPOLL_CTL_ADD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_epoll.h
      type_or_value: (EV_ADD)
    - item_type: preproc_def
      name: EPOLL_CTL_MOD
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_epoll.h
      type_or_value: (EV_ADD)
    - item_type: preproc_def
      name: EPOLL_CTL_DEL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_epoll.h
      type_or_value: EV_DELETE
    - item_type: preproc_def
      name: EPOLLIN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_epoll.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: EPOLLOUT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_epoll.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: events
        type: uint32_t
      - name: data
        type: epoll_data_t
      item_type: struct
      name: epoll_event
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_epoll.h
    typedefs: []
    union:
    - fields:
      - name: '*ptr'
        type: void
      - name: fd
        type: int
      - name: u32
        type: uint32_t
      - name: u64
        type: uint64_t
      item_type: union
      name: epoll_data
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_epoll.h
- function_names:
  - delay_dtor
  - release_run
  - getter_run
  - main
  source_file: /src/rtpproxy/src/rtpp_wref_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_NREFS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: '*rco'
        type: struct rtpp_refcnt
      - name: '*orig_rco'
        type: struct rtpp_refcnt
      - name: '*wref'
        type: struct rtpp_wref
      - name: '*orig_obj'
        type: void
      - name: spinval
        type: uint32_t
      - name: spin_budget
        type: uint32_t
      item_type: struct
      name: test_slot
      pos:
        line_end: 61
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    - fields:
      - name: slots[TEST_NREFS]
        type: struct test_slot
      - name: start
        type: atomic_bool
      - name: getter_ready
        type: atomic_bool
      - name: release_done
        type: atomic_bool
      - name: getref_ok
        type: atomic_uint_fast64_t
      - name: getref_null
        type: atomic_uint_fast64_t
      item_type: struct
      name: test_ctx
      pos:
        line_end: 70
        line_start: 63
        source_file: /src/rtpproxy/src/rtpp_wref_test.c
    typedefs: []
    union: []
- function_names:
  - rtpp_memdeb_selftest
  source_file: /src/rtpproxy/src/rtpp_memdeb_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_analyzer_ctor
  - rtpp_analyzer_update
  - rtpp_analyzer_get_stats
  - rtpp_analyzer_get_jstats
  - rtpp_analyzer_dtor
  source_file: /src/rtpproxy/src/rtpp_analyzer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_analyzer
      - name: rstat
        type: struct rtpp_session_stat
      - name: pecount
        type: uint32_t
      - name: aecount
        type: uint32_t
      - name: '*log'
        type: struct rtpp_log
      item_type: struct
      name: rtpp_analyzer_priv
      pos:
        line_end: 53
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_analyzer.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_timed_task.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_timed_task
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_timed_task.h
    typedefs: []
    union: []
- function_names:
  - compute_perfect_hash
  - rtpp_pearson_perfect_ctor
  - rtpp_pearson_perfect_hash
  - rtpp_pearson_perfect_dtor
  source_file: /src/rtpproxy/src/rtpp_pearson_perfect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pearson_perfect
      - name: rp
        type: struct rtpp_pearson
      - name: omap_table[256]
        type: uint8_t
      - name: gv
        type: rtpp_pearson_getval_t
      - name: '*gv_arg'
        type: void
      item_type: struct
      name: rtpp_pearson_perfect_priv
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_pearson_perfect.c
    typedefs: []
    union: []
- function_names:
  - fill_cmd_props
  - rtpp_command_pre_parse
  source_file: /src/rtpproxy/src/rtpp_command_parse.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: max_argc
        type: int
      - name: min_argc
        type: int
      - name: has_cmods
        type: int
      - name: has_call_id
        type: int
      - name: has_subc
        type: int
      - name: fpos
        type: int
      - name: tpos
        type: int
      - name: '*cmods'
        type: char
      item_type: struct
      name: cmd_props
      pos:
        line_end: 59
        line_start: 50
        source_file: /src/rtpproxy/src/rtpp_command_parse.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_wi_private.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sock
        type: int
      - name: '*aux_rcnt'
        type: struct rtpp_refcnt
      - name: msg_len
        type: size_t
      - name: flags
        type: int
      - name: '*sendto'
        type: struct sockaddr
      - name: tolen
        type: socklen_t
      - name: '*msg'
        type: void
      - name: nsend
        type: int
      - name: debug
        type: int
      - name: '*log'
        type: struct rtpp_log
      item_type: struct
      name: rtpp_wi_sendargs
      pos:
        line_end: 45
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_wi_private.h
    - fields:
      - name: pub
        type: struct rtpp_wi
      - name: sendargs
        type: struct rtpp_wi_sendargs
      - name: _sendto
        type: struct sockaddr_storage
      - name: data[0]
        type: char
      item_type: struct
      name: rtpp_wi_pvt
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_wi_private.h
    typedefs: []
    union: []
- function_names:
  - rtpp_refproxy_ctor
  - rtpp_refproxy_dtor
  - rtpp_refproxy_add
  source_file: /src/rtpproxy/src/rtpp_refproxy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_refproxy
      - name: alen
        type: int
      - name: ulen
        type: int
      - name: '*rcnts[0]'
        type: struct rtpp_refcnt
      item_type: struct
      name: rtpp_refproxy_priv
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_refproxy.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_private.h
  types:
    enum:
    - enumerators:
      - name: DELETE
      - name: RECORD
      - name: PLAY
      - name: NOPLAY
      - name: COPY
      - name: UPDATE
      - name: LOOKUP
      - name: INFO
      - name: QUERY
      - name: VER_FEATURE
      - name: GET_VER
      - name: NORECORD
      - name: GET_STATS
      - name: DELETE_ALL
      item_type: enum
      name: rtpp_cmd_op
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_command_private.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SUBC_NUM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_command_private.h
      type_or_value: '16'
    structs:
    - fields:
      - name: op
        type: enum rtpp_cmd_op
      - name: '*rname'
        type: char
      - name: '*hint'
        type: char
      - name: '*call_id'
        type: rtpp_str_t
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*to_tag'
        type: rtpp_str_t
      - name: opts
        type: "union {\n        struct ul_opts *ul;\n        struct play_opts *play;\n
          \       struct delete_opts *delete;\n        struct record_opts *record;\n
          \       void *ptr;\n    }"
      item_type: struct
      name: common_cmd_args
      pos:
        line_end: 54
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_command_private.h
    - fields:
      - name: '*stat'
        type: void
      - name: '*dyn'
        type: void
      item_type: struct
      name: after_success_h_args
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_command_private.h
    - fields:
      - name: handler
        type: after_success_t
      - name: args
        type: struct after_success_h_args
      item_type: struct
      name: after_success_h
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/rtpproxy/src/rtpp_command_private.h
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: buf[RTPP_CMD_BUFLEN]
        type: char
      - name: args
        type: struct rtpp_command_args
      - name: subc
        type: "struct {\n        struct rtpp_command_args args[MAX_SUBC_NUM];\n        struct
          rtpp_subc_resp res[MAX_SUBC_NUM];\n        int n;\n    }"
      - name: '*laddr'
        type: struct sockaddr
      - name: '*dtime'
        type: struct rtpp_timestamp
      - name: cca
        type: struct common_cmd_args
      - name: no_glock
        type: int
      - name: '*sp'
        type: struct rtpp_session
      - name: '*glog'
        type: struct rtpp_log
      - name: '*reply'
        type: struct rtpc_reply
      - name: '*raddr'
        type: struct rtpp_sockaddr
      - name: '*csp'
        type: struct rtpp_command_stats
      - name: after_success[MAX_SUBC_NUM]
        type: struct after_success_h
      item_type: struct
      name: rtpp_command
      pos:
        line_end: 94
        line_start: 75
        source_file: /src/rtpproxy/src/rtpp_command_private.h
    typedefs: []
    union: []
- function_names:
  - rtpp_session_ctor
  - rtpp_session_set_packetport
  - rtpp_session_unset_packetport
  - rtpp_session_dtor
  - compare_session_tags
  - rtpp_session_ematch
  - find_stream
  - get_rtcp_pair
  source_file: /src/rtpproxy/src/rtpp_session.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_session
      - name: '*sessinfo'
        type: struct rtpp_sessinfo
      - name: '*module_cf'
        type: struct rtpp_modman
      - name: '*acct'
        type: struct rtpp_acct
      - name: call_id
        type: struct rtpp_str
      - name: from_tag
        type: struct rtpp_str
      - name: from_tag_nmn
        type: struct rtpp_str
      item_type: struct
      name: rtpp_session_priv
      pos:
        line_end: 80
        line_start: 71
        source_file: /src/rtpproxy/src/rtpp_session.c
    - fields:
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*to_tag'
        type: rtpp_str_t
      - name: '*sp'
        type: struct rtpp_session
      - name: rval
        type: int
      item_type: struct
      name: session_match_args
      pos:
        line_end: 364
        line_start: 359
        source_file: /src/rtpproxy/src/rtpp_session.c
    typedefs: []
    union: []
- function_names:
  - STRINGIFY
  - STR
  source_file: /src/rtpproxy/src/rtpp_defines.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPROTOVER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '20040107'
    - item_type: preproc_def
      name: PORT_MIN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '35000'
    - item_type: preproc_def
      name: PORT_MAX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '65000'
    - item_type: preproc_def
      name: TIMETICK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SESSION_TIMEOUT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: "60\t"
    - item_type: preproc_def
      name: TOS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '0xb8'
    - item_type: preproc_def
      name: LBR_THRS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: "128\t"
    - item_type: preproc_def
      name: CPORT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '"22222"'
    - item_type: preproc_def
      name: MAX_RTP_RATE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '100'
    - item_type: preproc_def
      name: POLL_RATE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: "(MAX_RTP_RATE * 2)\t"
    - item_type: preproc_def
      name: LOG_LEVEL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: RTPP_LOG_DBUG
    - item_type: preproc_def
      name: UPDATE_WINDOW
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: "10.0\t"
    - item_type: preproc_def
      name: PCAP_FORMAT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: DLT_EN10MB
    - item_type: preproc_def
      name: SERVICE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '"34999"'
    - item_type: preproc_def
      name: CMD_SOCK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '"/var/run/rtpproxy.sock"'
    - item_type: preproc_def
      name: PID_FILE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_defines.h
      type_or_value: '"/var/run/rtpproxy.pid"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_pcache.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: open
        type: rtpp_pcache_open_t
      - name: read
        type: rtpp_pcache_read_t
      - name: close
        type: rtpp_pcache_close_t
      - name: dtor
        type: rtpp_pcache_dtor_t
      - name: '*pvt'
        type: struct rtpp_pcache_priv
      item_type: struct
      name: rtpp_pcache
      pos:
        line_end: 21
        line_start: 14
        source_file: /src/rtpproxy/src/rtpp_pcache.h
    typedefs: []
    union: []
- function_names:
  - rtpp_socket_ctor
  - rtpp_socket_dtor
  - rtpp_socket_bind
  - rtpp_socket_settos
  - rtpp_socket_setrbuf
  - rtpp_socket_setnonblock
  - rtpp_socket_settimestamp
  - rtpp_socket_send_pkt_na
  - rtpp_socket_rtp_recv
  - rtpp_socket_rtp_recv_simple
  - _rtpp_socket_rtp_recv
  - rtpp_socket_rtp_recv_ts
  - rtpp_socket_rtp_recv_gen
  - rtpp_socket_rtp_recv_mono
  - rtpp_socket_getfd
  - rtpp_socket_drain
  - RTPP_DBGCODE
  - RTPP_DBGCODE
  - rtpp_socket_set_stuid
  - rtpp_socket_get_stuid
  - rtpp_socket_link_session
  - rtpp_socket_get_session_link
  - rtpp_socket_link_stream
  - rtpp_socket_get_stream_link
  source_file: /src/rtpproxy/src/rtpp_socket.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pvt'
        type: struct rtpp_socket_priv
      - name: '*dtime'
        type: struct rtpp_timestamp
      - name: '*laddr'
        type: struct sockaddr
      - name: port
        type: int
      item_type: struct
      name: rs_recv_arg
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_socket.c
    - fields:
      - name: pub
        type: struct rtpp_socket
      - name: '*netio'
        type: struct rtpp_anetio_cf
      - name: fd
        type: int
      - name: type
        type: int
      - name: stuid
        type: uint64_t
      - name: '*session_wref'
        type: struct rtpp_wref
      - name: '*stream_wref'
        type: struct rtpp_wref
      - name: rtp_recv
        type: rs_rtp_recv_t
      item_type: struct
      name: rtpp_socket_priv
      pos:
        line_end: 76
        line_start: 67
        source_file: /src/rtpproxy/src/rtpp_socket.c
    typedefs: []
    union: []
- function_names:
  - rtpp_str_fix
  - rtpp_str_dup2
  - rtpp_str_match
  - FMTSTR
  - RTPP_STR_ITERATE
  - rtpp_str_mutble_i
  - rtpp_str_const_i
  - rtpp_str_i
  - _rtpp_str_dup2_sc
  - _rtpp_str_dup2_sf
  source_file: /src/rtpproxy/src/rtpp_str.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*s'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: rtpp_str_mutble
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_str.h
    - fields:
      - name: '*s'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: rtpp_str_const
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_str.h
    - fields:
      - name: '* const s'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: rtpp_str_fixed
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_str.h
    - fields: []
      item_type: struct
      name: rtpp_str
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_str.h
    typedefs:
    - item_type: typedef
      name: rtpp_str_mutble_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_str.h
      type: rtpp_str_mutble
    - item_type: typedef
      name: rtpp_str_const_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_str.h
      type: rtpp_str_const
    - item_type: typedef
      name: rtpp_str_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_str.h
      type: rtpp_str_fixed
    union: []
- function_names:
  - rtpp_acct_ctor
  - rtpp_acct_dtor
  source_file: /src/rtpproxy/src/rtpp_acct.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ps
        type: struct rtpp_pcnts_strm
      item_type: struct
      name: rtpp_acct_face_s
      pos:
        line_end: 47
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_acct.c
    - fields:
      - name: o
        type: struct rtpp_acct_face_s
      - name: a
        type: struct rtpp_acct_face_s
      - name: pcnts
        type: struct rtpps_pcount
      item_type: struct
      name: rtpp_acct_pipe_s
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_acct.c
    - fields:
      - name: pub
        type: struct rtpp_acct
      - name: _rtp
        type: struct rtpp_acct_pipe_s
      - name: _rtcp
        type: struct rtpp_acct_pipe_s
      - name: _rasto
        type: struct rtpa_stats
      - name: _rasta
        type: struct rtpa_stats
      - name: _jrasto
        type: struct rtpa_stats_jitter
      - name: _jrasta
        type: struct rtpa_stats_jitter
      - name: _init_ts
        type: struct rtpp_timestamp
      - name: _destroy_ts
        type: struct rtpp_timestamp
      item_type: struct
      name: rtpp_acct_priv
      pos:
        line_end: 65
        line_start: 55
        source_file: /src/rtpproxy/src/rtpp_acct.c
    typedefs: []
    union: []
- function_names:
  - rtpp_refcnt_free
  - DTOR_PAIR_INIT
  - DTOR_RC_INIT
  - rtpp_refcnt_ctor
  - rtpp_refcnt_ctor_pa
  - rtpp_refcnt_attach
  - rtpp_refcnt_attach_nc
  - rtpp_refcnt_attach_rc
  - rtpp_refcnt_attach_rc_nc
  - rtpp_refcnt_incref
  - RTPP_DBGCODE
  - rtpp_refcnt_tryincref
  - rtpp_refcnt_decref
  - RTPP_DBGCODE
  - rtpp_refcnt_getdata
  - rtpp_refcnt_traceen
  - rtpp_refcnt_peek
  source_file: /src/rtpproxy/src/rtpp_refcnt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RC_ABS_MAX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_refcnt.c
      type_or_value: '2000000'
    structs:
    - fields:
      - name: f
        type: rtpp_refcnt_dtor_t
      item_type: struct
      name: dtor_pair
      pos:
        line_end: 72
        line_start: 66
        source_file: /src/rtpproxy/src/rtpp_refcnt.c
    typedefs: []
    union: []
- function_names:
  - rtp_ts2dtime
  - rtp_dtime2time_ts64
  - LOGD_IF_NOT_NULL
  - LOGI_IF_NOT_NULL
  - update_jitter_stats
  - rtpp_stats_init
  - rtp_analyze_jdata_ctor
  - rtp_analyze_jt_ctor
  - rtpp_stats_destroy
  - rtp_analyze_jt_destroy
  - jdata_by_ssrc
  - update_rtpp_stats
  - update_rtpp_totals
  - get_jitter_stats
  source_file: /src/rtpproxy/src/rtp_analyze.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIX_TIMESTAMP_RESET
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rtpproxy/src/rtp_analyze.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_TIMESTAMP_RESET
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/src/rtp_analyze.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RTP_NORMAL
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/rtpproxy/src/rtp_analyze.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RTP_SEQ_RESET
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/rtpproxy/src/rtp_analyze.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RTP_SSRC_RESET
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/rtpproxy/src/rtp_analyze.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RTPC_JDATA_MAX
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/rtpproxy/src/rtp_analyze.c
      type_or_value: '10'
    structs:
    - fields:
      - name: jdlen
        type: int
      - name: jmax_acum
        type: double
      - name: jtotal_acum
        type: double
      - name: jvcount_acum
        type: long long
      - name: pcount_acum
        type: long long
      - name: '*first'
        type: struct rtp_analyze_jdata
      item_type: struct
      name: rtp_analyze_jitter
      pos:
        line_end: 62
        line_start: 55
        source_file: /src/rtpproxy/src/rtp_analyze.c
    - fields:
      - name: prev_rtime_ts
        type: uint64_t
      - name: prev_ts
        type: uint32_t
      - name: ts_dcount
        type: long long
      - name: seq_rcount
        type: long long
      - name: jlast
        type: double
      - name: jmax
        type: double
      - name: jtotal
        type: double
      - name: pcount
        type: long long
      item_type: struct
      name: rtp_analyze_jdata_ssrc
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/rtpproxy/src/rtp_analyze.c
    - fields:
      - name: jss
        type: struct rtp_analyze_jdata_ssrc
      - name: '*ts_dedup'
        type: struct rtpp_ringbuf
      - name: ssrc
        type: struct rtpp_ssrc
      - name: '*next'
        type: struct rtp_analyze_jdata
      item_type: struct
      name: rtp_analyze_jdata
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/rtpproxy/src/rtp_analyze.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_module_if_static.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AAPI_FUNC
  source_file: /src/rtpproxy/src/rtpp_module_acct.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: argsize
        type: size_t
      - name: func
        type: rtpp_module_on_session_end_t
      item_type: struct
      name: api_on_sess_end
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_module_acct.h
    - fields:
      - name: argsize
        type: size_t
      - name: func
        type: rtpp_module_on_rtcp_rcvd_t
      item_type: struct
      name: api_on_rtcp_rcvd
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_module_acct.h
    - fields:
      - name: on_session_end
        type: struct api_on_sess_end
      - name: on_rtcp_rcvd
        type: struct api_on_rtcp_rcvd
      item_type: struct
      name: rtpp_acct_handlers
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/rtpproxy/src/rtpp_module_acct.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cnt
        type: uint64_t
      - name: cnt_idx
        type: int
      item_type: struct
      name: rtpp_command_stat
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/rtpproxy/src/rtpp_command_stats.h
    - fields:
      - name: ncmds_rcvd
        type: struct rtpp_command_stat
      - name: ncmds_rcvd_ndups
        type: struct rtpp_command_stat
      - name: ncmds_succd
        type: struct rtpp_command_stat
      - name: ncmds_errs
        type: struct rtpp_command_stat
      - name: ncmds_repld
        type: struct rtpp_command_stat
      - name: nsess_complete
        type: struct rtpp_command_stat
      - name: nsess_created
        type: struct rtpp_command_stat
      - name: nplrs_created
        type: struct rtpp_command_stat
      - name: nplrs_destroyed
        type: struct rtpp_command_stat
      item_type: struct
      name: rtpp_command_stats
      pos:
        line_end: 47
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_command_stats.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_endian.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_proc_servers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_netaddr_ctor
  - rtpp_netaddr_set
  - rtpp_netaddr_dtor
  - rtpp_netaddr_isempty
  - rtpp_netaddr_cmp
  - rtpp_netaddr_isaddrseq
  - rtpp_netaddr_cmphost
  - rtpp_netaddr_copy
  - rtpp_netaddr_get
  - rtpp_netaddr_sip_print
  source_file: /src/rtpproxy/src/rtpp_netaddr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_netaddr
      - name: sas
        type: struct sockaddr_storage
      - name: lock
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_netaddr_priv
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_netaddr.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_netaddr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_refproxy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_DBG_ASSERT
  - RTPP_DBGCODE
  source_file: /src/rtpproxy/src/rtpp_debug.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_DBG_YES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_DBG_NO
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RTPP_DEBUG_netio
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_DEBUG_timers
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_catchtrace
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_DEBUG_refcnt
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_DEBUG_analyze
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_DEBUG_netio
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_YES
    - item_type: preproc_def
      name: RTPP_DEBUG_timers
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_catchtrace
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_YES
    - item_type: preproc_def
      name: RTPP_DEBUG_refcnt
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_YES
    - item_type: preproc_def
      name: RTPP_DEBUG_analyze
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_netio
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_timers
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_catchtrace
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_refcnt
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: RTPP_DEBUG_analyze
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: _DCOND_
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_YES
    - item_type: preproc_def
      name: _DCOND_
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DBG_NO
    - item_type: preproc_def
      name: _DCOND_netio
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DEBUG_netio
    - item_type: preproc_def
      name: _DCOND_timers
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DEBUG_timers
    - item_type: preproc_def
      name: _DCOND_catchtrace
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DEBUG_catchtrace
    - item_type: preproc_def
      name: _DCOND_refcnt
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DEBUG_refcnt
    - item_type: preproc_def
      name: _DCOND_analyze
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_debug.h
      type_or_value: RTPP_DEBUG_analyze
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_anetio_sthread
  - rtpp_anetio_sendto_debug
  - rtpp_anetio_sendto
  - rtpp_anetio_sendto_na
  - rtpp_anetio_pump
  - rtpp_anetio_pump_q
  - rtpp_anetio_send_pkt_na
  - rtpp_anetio_pick_sender
  - rtpp_netio_async_init
  - rtpp_netio_async_destroy
  source_file: /src/rtpproxy/src/rtpp_netio_async.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEND_THREADS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/src/rtpp_netio_async.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RTPP_ANETIO_MAX_RETRY
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/rtpproxy/src/rtpp_netio_async.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RTPP_ANETIO_BATCH_LEN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/src/rtpp_netio_async.c
      type_or_value: (RTPQ_LARGE_CB_LEN / 8)
    structs:
    - fields:
      - name: '*out_q'
        type: struct rtpp_queue
      - name: '*glog'
        type: struct rtpp_log
      - name: dmode
        type: int
      - name: '*sigterm'
        type: struct rtpp_wi
      item_type: struct
      name: sthread_args
      pos:
        line_end: 76
        line_start: 68
        source_file: /src/rtpproxy/src/rtpp_netio_async.c
    - fields:
      - name: thread_id[SEND_THREADS]
        type: pthread_t
      - name: args[SEND_THREADS]
        type: struct sthread_args
      item_type: struct
      name: rtpp_anetio_cf
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/rtpproxy/src/rtpp_netio_async.c
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_sessinfo.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: stuid
        type: uint64_t
      - name: '*skt'
        type: struct rtpp_socket
      item_type: struct
      name: rtpp_polltbl_mdata
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/rtpproxy/src/rtpp_sessinfo.h
    - fields:
      - name: epfd
        type: int
      - name: '*mds'
        type: struct rtpp_polltbl_mdata
      - name: curlen
        type: int
      - name: aloclen
        type: int
      - name: revision
        type: uint64_t
      - name: '*streams_wrt'
        type: struct rtpp_weakref
      - name: wakefd[2]
        type: int
      item_type: struct
      name: rtpp_polltbl
      pos:
        line_end: 66
        line_start: 57
        source_file: /src/rtpproxy/src/rtpp_sessinfo.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_stream.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: controlfd_in
        type: int
      - name: controlfd_out
        type: int
      - name: inbuf[1024 * 8]
        type: char
      - name: '*csock'
        type: struct rtpp_ctrl_sock
      - name: inbuf_ppos
        type: int
      - name: inbuf_epos
        type: int
      - name: raddr
        type: struct sockaddr_storage
      - name: rlen
        type: socklen_t
      item_type: struct
      name: rtpp_cmd_connection
      pos:
        line_end: 38
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_command_stream.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtp_analyze.h
  types:
    enum:
    - enumerators:
      - name: UPDATE_OK
        value: '0'
      - name: UPDATE_SSRC_CHG
        value: '1'
      - name: UPDATE_ERR
        value: '-1'
      item_type: enum
      name: update_rtpp_stats_rval
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/rtpproxy/src/rtp_analyze.h
    preproc_defs:
    - item_type: preproc_def
      name: rtp_hdr_t_DEFINED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtp_analyze.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PT_UNKN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtp_analyze.h
      type_or_value: '128'
    structs:
    - fields:
      - name: pcount
        type: long long
      - name: min_seq
        type: uint32_t
      - name: max_seq
        type: uint32_t
      - name: seq_offset
        type: uint32_t
      - name: ssrc
        type: struct rtpp_ssrc
      - name: seen[4096]
        type: uint32_t
      - name: duplicates
        type: uint32_t
      - name: base_ts
        type: uint32_t
      - name: seq
        type: uint16_t
      - name: pt
        type: uint8_t
      - name: base_rtime
        type: double
      item_type: struct
      name: rtpp_session_stat_last
      pos:
        line_end: 54
        line_start: 42
        source_file: /src/rtpproxy/src/rtp_analyze.h
    - fields:
      - name: ssrc_changes
        type: uint32_t
      - name: psent
        type: uint32_t
      - name: precvd
        type: uint32_t
      - name: duplicates
        type: uint32_t
      - name: desync_count
        type: uint32_t
      - name: seq_res_count
        type: uint32_t
      - name: last
        type: struct rtpp_session_stat_last
      - name: '*jdata'
        type: struct rtp_analyze_jitter
      item_type: struct
      name: rtpp_session_stat
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/rtpproxy/src/rtp_analyze.h
    typedefs:
    - item_type: typedef
      name: rtp_hdr_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/rtpproxy/src/rtp_analyze.h
      type: rtp_hdr
    union: []
- function_names:
  - RTPP_CTRL_ISDG
  - RTPP_CTRL_ISUNIX
  - RTPP_CTRL_ISSTREAM
  - RTPP_CTRL_ACCEPTABLE
  source_file: /src/rtpproxy/src/rtpp_controlfd.h
  types:
    enum:
    - enumerators:
      - name: RTPC_IFSUN
      - name: RTPC_STDIO
      - name: RTPC_SYSD
      - name: RTPC_UDP4
      - name: RTPC_UDP6
      - name: RTPC_FD
      - name: RTPC_IFSUN_C
      - name: RTPC_TCP4
      - name: RTPC_TCP6
      item_type: enum
      name: rtpp_ctrl_type
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/src/rtpp_controlfd.h
    preproc_defs: []
    structs:
    - fields:
      - name: t
        type: struct rtpp_type_linkable
      - name: type
        type: enum rtpp_ctrl_type
      - name: '*cmd_sock'
        type: char
      - name: controlfd_in
        type: int
      - name: controlfd_out
        type: int
      - name: port_ctl
        type: int
      - name: exit_on_close
        type: int
      - name: emrg
        type: "struct {\t\t\t\t/* Temporary space for emergencies (i.e. ENOMEM) */\n
          \       char buf[RTPP_CMD_BUFLEN];\t/* I/O scrap buffer */\n        struct
          sockaddr_storage addr;\t/* space to store receiver's address */\n    }"
      - name: bindaddr
        type: struct sockaddr_storage
      item_type: struct
      name: rtpp_ctrl_sock
      pos:
        line_end: 44
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_controlfd.h
    typedefs: []
    union: []
- function_names:
  - rtpp_modman_ctor
  - rtpp_modman_dtor
  - rtpp_modman_insert
  - rtpp_modman_startall
  - rtpp_modman_get_next_id
  - rtpp_modman_do_acct
  - rtpp_modman_get_ul_subc_h
  source_file: /src/rtpproxy/src/rtpp_modman.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_modman
      - name: all
        type: struct rtpp_list
      item_type: struct
      name: rtpp_modman_priv
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_modman.c
    typedefs: []
    union: []
- function_names:
  - rtpp_list_append
  - RTPP_LIST_RESET
  - RTPP_LIST_HEAD
  - RTPP_LIST_IS_EMPTY
  - RTPP_ITER_NEXT
  source_file: /src/rtpproxy/src/rtpp_list.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*head'
        type: struct rtpp_type_linkable
      - name: '*tail'
        type: struct rtpp_type_linkable
      - name: len
        type: unsigned int
      item_type: struct
      name: rtpp_list
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_list.h
    typedefs: []
    union: []
- function_names:
  - GLITCH_ACTION
  - TRIG_CHCK1
  - TRIG_CHCK2
  - TRIG_CHCK3
  - GLITCH_INJECT_IF
  - GLITCH_INJECT
  source_file: /src/rtpproxy/src/rtpp_glitch.h
  types:
    enum:
    - enumerators:
      - name: GLAV_NOP
        value: '0'
      - name: GLAV_HANG
        value: '''h'''
      - name: GLAV_BAIL
        value: '''e'''
      - name: GLAV_ABORT
        value: '''a'''
      - name: GLAV_RPRT
        value: '''r'''
      - name: GLAV_GLTCH
        value: '''g'''
      item_type: enum
      name: glav_act
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_glitch.h
    preproc_defs: []
    structs:
    - fields:
      - name: stack
        type: uintptr_t
      - name: wild
        type: int
      - name: act[16]
        type: char
      - name: lasthit
        type: "union {\n      const struct rtpp_codeptr *ptr;\n      _Atomic(uintptr_t)
          aptr;\n    }"
      item_type: struct
      name: _glav_trig
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/rtpproxy/src/rtpp_glitch.h
    - fields:
      - name: mightclose
        type: unsigned int
      item_type: struct
      name: rtpp_glitch_opts
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_glitch.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/config_pp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_SW_VERSION
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rtpproxy/src/config_pp.h
      type_or_value: (PACKAGE_VERSION "." VERSION_GIT)
    - item_type: preproc_def
      name: NO_ERR_H
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/src/config_pp.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_sbuf_write
  - _rtpp_sbuf_ctor
  - _rtpp_sbuf_dtor
  - _rtpp_sbuf_extend
  - errx_ifnot
  - rtpp_sbuf_selftest
  - rtpp_sbuf_reset
  source_file: /src/rtpproxy/src/rtpp_sbuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_proc_wakeup.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/librtpp_main.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - recfilter_apply
  - recfilter_apply_int
  - recfilter_init
  source_file: /src/rtpproxy/src/rtpp_math.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_ip_chksum_start
  - rtpp_ip_chksum_update
  - rtpp_ip_chksum_update_data
  - rtpp_ip_chksum_pad_v4
  - rtpp_ip_chksum_pad_v6
  - rtpp_ip_chksum_fin
  source_file: /src/rtpproxy/src/rtpp_ip_chksum.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - addr2bindaddr_i
  - addr2bindaddr
  - label2bindaddr
  - host2bindaddr
  - bindaddr4af
  - rtpp_bindaddrs_dtor
  - rtpp_bindaddrs_local4remote
  - rtpp_bindaddrs_ctor
  source_file: /src/rtpproxy/src/rtpp_bindaddrs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bindaddr
        type: struct rtpp_bindaddr
      - name: '*next'
        type: struct bindaddr_list
      item_type: struct
      name: bindaddr_list
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_bindaddrs.c
    - fields:
      - name: pub
        type: struct rtpp_bindaddrs
      - name: '*bindaddr_list'
        type: struct bindaddr_list
      - name: bindaddr_lock
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_bindaddrs_pvt
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_bindaddrs.c
    typedefs: []
    union: []
- function_names:
  - getdstat
  - count_rtpp_stats
  - count_rtpp_stats_derived
  - rtpp_stats_ctor
  - rtpp_stats_getidxbyname
  - rtpp_stats_updatebyidx_internal
  - rtpp_stats_updatebyidx
  - rtpp_stats_updatebyname
  - rtpp_stats_updatebyname_d
  - rtpp_stats_getlvalbyname
  - rtpp_stats_nstr
  - rtpp_stats_dtor
  - rtpp_stats_getnstats
  - rtpp_stats_update_derived
  source_file: /src/rtpproxy/src/rtpp_stats.c
  types:
    enum:
    - enumerators:
      - name: RTPP_CNT_U64
      - name: RTPP_CNT_DBL
      item_type: enum
      name: rtpp_cnt_type
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_stats.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*descr'
        type: char
      - name: type
        type: enum rtpp_cnt_type
      - name: '*derive_from'
        type: char
      item_type: struct
      name: rtpp_stat_descr
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_stats.c
    - fields:
      - name: '*descr'
        type: struct rtpp_stat_descr
      - name: mutex
        type: pthread_mutex_t
      - name: cnt
        type: union rtpp_stat_cnt
      item_type: struct
      name: rtpp_stat
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/rtpproxy/src/rtpp_stats.c
    - fields:
      - name: '*derive_from'
        type: struct rtpp_stat
      - name: '*derive_to'
        type: struct rtpp_stat
      - name: last_ts
        type: double
      - name: last_val
        type: union rtpp_stat_cnt
      item_type: struct
      name: rtpp_stat_derived
      pos:
        line_end: 80
        line_start: 74
        source_file: /src/rtpproxy/src/rtpp_stats.c
    - fields:
      - name: nstats
        type: int
      - name: nstats_derived
        type: int
      - name: '*stats'
        type: struct rtpp_stat
      - name: '*dstats'
        type: struct rtpp_stat_derived
      - name: '*rppp'
        type: struct rtpp_pearson_perfect
      item_type: struct
      name: rtpp_stats_priv
      pos:
        line_end: 122
        line_start: 115
        source_file: /src/rtpproxy/src/rtpp_stats.c
    - fields:
      - name: pub
        type: struct rtpp_stats
      - name: pvt
        type: struct rtpp_stats_priv
      item_type: struct
      name: rtpp_stats_full
      pos:
        line_end: 128
        line_start: 124
        source_file: /src/rtpproxy/src/rtpp_stats.c
    typedefs: []
    union:
    - fields:
      - name: d
        type: double
      item_type: union
      name: rtpp_stat_cnt
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_stats.c
- function_names:
  - rtpp_wi_malloc_data
  - rtpp_wi_malloc_udata
  - rtpp_wi_data_get_ptr
  source_file: /src/rtpproxy/src/rtpp_wi_data.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_wi
      - name: data_len
        type: size_t
      - name: data[0]
        type: char
      item_type: struct
      name: rtpp_wi_data
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_wi_data.c
    typedefs: []
    union: []
- function_names:
  - rtpp_wi_get_type
  source_file: /src/rtpproxy/src/rtpp_wi.h
  types:
    enum:
    - enumerators:
      - name: RTPP_WI_TYPE_OPKT
        value: '0'
      - name: RTPP_WI_TYPE_API_STR
        value: '2'
      - name: RTPP_WI_TYPE_DATA
        value: '3'
      - name: RTPP_WI_TYPE_SGNL
        value: '1'
      item_type: enum
      name: rtpp_wi_type
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_wi.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*next'
        type: struct rtpp_wi
      - name: wi_type
        type: enum rtpp_wi_type
      item_type: struct
      name: rtpp_wi
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_wi.h
    typedefs: []
    union: []
- function_names:
  - CBP
  - CBL
  - CBRL
  - CBP_C
  - CBL_C
  - rtpc_reply_ctor
  - rtpc_reply_deliver
  - rtpc_reply_deliver_number
  - rtpc_reply_append_port_addr_s
  - rtpc_reply_append_port_addr
  - rtpc_reply_deliver_port_addr
  - rtpc_reply_deliver_ok
  - rtpc_reply_deliver_error
  - rtpc_reply_append
  - rtpc_reply_appendf
  - rtpc_reply_commit
  - rtpc_reply_reserve
  source_file: /src/rtpproxy/src/rtpp_command_reply.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpc_reply
      - name: '*ctx'
        type: struct rtpp_command_ctx
      - name: buf
        type: "struct {\n        int ulen;\n        int clen;\n        int rlen;\n
          \       char r[1024];\n    }"
      item_type: struct
      name: rtpc_reply_priv
      pos:
        line_end: 69
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_command_reply.c
    typedefs: []
    union: []
- function_names:
  - ARRIVAL_TIME
  - ARRIVAL_TIME
  - ropen_remote_ctor_pa
  - rtpp_record_ctor
  - flush_rbuf
  - prepare_pkt_hdr_adhoc
  - fake_ether_addr
  - prepare_pkt_hdr_pcap
  - get_hdr_size
  - rtpp_record_write_locked
  - rtpp_record_write
  - rtpp_record_close
  source_file: /src/rtpproxy/src/rtpp_record.c
  types:
    enum:
    - enumerators:
      - name: MODE_LOCAL_PKT
      - name: MODE_REMOTE_RTP
      - name: MODE_LOCAL_PCAP
      item_type: enum
      name: record_mode
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/rtpproxy/src/rtpp_record.c
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_DIAG_PUSH
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_record.c
      type_or_value: _Pragma("clang diagnostic push")
    - item_type: preproc_def
      name: RTPP_DIAG_POP
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/src/rtpp_record.c
      type_or_value: _Pragma("clang diagnostic pop")
    - item_type: preproc_def
      name: RTPP_DIAG_IGNORE_ADDR_OF_PACKED
      pos:
        line_end: 87
        line_start: 85
        source_file: /src/rtpproxy/src/rtpp_record.c
      type_or_value: _Pragma("clang diagnostic ignored \"-Waddress-of-packed-member\"")
    - item_type: preproc_def
      name: RTPP_DIAG_PUSH
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/src/rtpp_record.c
      type_or_value: _Pragma("GCC diagnostic push")
    - item_type: preproc_def
      name: RTPP_DIAG_POP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/src/rtpp_record.c
      type_or_value: _Pragma("GCC diagnostic pop")
    - item_type: preproc_def
      name: RTPP_DIAG_IGNORE_ADDR_OF_PACKED
      pos:
        line_end: 92
        line_start: 90
        source_file: /src/rtpproxy/src/rtpp_record.c
      type_or_value: _Pragma("GCC diagnostic ignored \"-Waddress-of-packed-member\"")
    structs:
    - fields:
      - name: pub
        type: struct rtpp_record
      - name: lock
        type: pthread_mutex_t
      - name: spath[PATH_MAX + 1]
        type: char
      - name: rpath[PATH_MAX + 1]
        type: char
      - name: fd
        type: int
      - name: needspool
        type: int
      - name: rbuf[4096]
        type: char
      - name: rbuf_len
        type: int
      - name: mode
        type: enum record_mode
      - name: record_single_file
        type: int
      - name: '*proto'
        type: char
      - name: '*log'
        type: struct rtpp_log
      - name: epoch
        type: struct rtpp_timestamp
      item_type: struct
      name: rtpp_record_channel
      pos:
        line_end: 114
        line_start: 100
        source_file: /src/rtpproxy/src/rtpp_record.c
    - fields:
      - name: '*packet'
        type: struct rtp_packet
      - name: '*hdrp'
        type: union anyhdr
      - name: '*daddr'
        type: struct sockaddr
      - name: '*ldaddr'
        type: struct sockaddr
      - name: ldport
        type: int
      - name: face
        type: int
      - name: atime_wall
        type: double
      item_type: struct
      name: prepare_pkt_hdr_args
      pos:
        line_end: 325
        line_start: 317
        source_file: /src/rtpproxy/src/rtpp_record.c
    typedefs: []
    union:
    - fields:
      - name: pcap
        type: union pkt_hdr_pcap
      - name: adhoc
        type: struct pkt_hdr_adhoc
      item_type: union
      name: anyhdr
      pos:
        line_end: 315
        line_start: 312
        source_file: /src/rtpproxy/src/rtpp_record.c
    - fields:
      - name: '*v6'
        type: struct ip6_hdr
      - name: '*v4'
        type: struct ip
      item_type: union
      name: ipp
      pos:
        line_end: 397
        line_start: 394
        source_file: /src/rtpproxy/src/rtpp_record.c
- function_names:
  - RTPP_TNT_STYPE
  source_file: /src/rtpproxy/src/rtpp_tnotify_tgt.h
  types:
    enum:
    - enumerators:
      - name: RTPP_TNS_LOCAL
      - name: RTPP_TNS_INET
      - name: RTPP_TNS_FD
      item_type: enum
      name: rtpp_tnotify_stype
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/rtpproxy/src/rtpp_tnotify_tgt.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*socket_name'
        type: char
      - name: socket_type
        type: enum rtpp_tnotify_stype
      - name: remote
        type: struct sockaddr_storage
      - name: remote_len
        type: socklen_t
      - name: '*local'
        type: struct sockaddr
      - name: fd
        type: int
      - name: connected
        type: int
      item_type: struct
      name: rtpp_tnotify_target
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_tnotify_tgt.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ECODE_CMDUNKN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ECODE_PARSE_NARGS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ECODE_PARSE_MODS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ECODE_PARSE_SUBC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ECODE_PARSE_1
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '5'
    - item_type: preproc_def
      name: ECODE_PARSE_2
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ECODE_PARSE_3
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '7'
    - item_type: preproc_def
      name: ECODE_PARSE_4
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ECODE_PARSE_5
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '9'
    - item_type: preproc_def
      name: ECODE_PARSE_10
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '10'
    - item_type: preproc_def
      name: ECODE_PARSE_11
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '11'
    - item_type: preproc_def
      name: ECODE_PARSE_12
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '12'
    - item_type: preproc_def
      name: ECODE_PARSE_13
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '13'
    - item_type: preproc_def
      name: ECODE_PARSE_14
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '14'
    - item_type: preproc_def
      name: ECODE_PARSE_15
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '15'
    - item_type: preproc_def
      name: ECODE_PARSE_16
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '16'
    - item_type: preproc_def
      name: ECODE_PARSE_6
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '17'
    - item_type: preproc_def
      name: ECODE_PARSE_7
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '18'
    - item_type: preproc_def
      name: ECODE_PARSE_8
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '19'
    - item_type: preproc_def
      name: ECODE_RTOOBIG_1
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '25'
    - item_type: preproc_def
      name: ECODE_RTOOBIG_2
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '26'
    - item_type: preproc_def
      name: ECODE_INVLARG_1
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '31'
    - item_type: preproc_def
      name: ECODE_INVLARG_2
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '32'
    - item_type: preproc_def
      name: ECODE_INVLARG_3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '33'
    - item_type: preproc_def
      name: ECODE_INVLARG_4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '34'
    - item_type: preproc_def
      name: ECODE_INVLARG_5
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '35'
    - item_type: preproc_def
      name: ECODE_INVLARG_6
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '36'
    - item_type: preproc_def
      name: ECODE_INVLARG_7
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '37'
    - item_type: preproc_def
      name: ECODE_SESUNKN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '50'
    - item_type: preproc_def
      name: ECODE_PLRFAIL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '60'
    - item_type: preproc_def
      name: ECODE_QRYFAIL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '62'
    - item_type: preproc_def
      name: ECODE_CPYFAIL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '65'
    - item_type: preproc_def
      name: ECODE_STSFAIL
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '68'
    - item_type: preproc_def
      name: ECODE_LSTFAIL_1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '71'
    - item_type: preproc_def
      name: ECODE_LSTFAIL_2
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '72'
    - item_type: preproc_def
      name: ECODE_NSOFF
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '75'
    - item_type: preproc_def
      name: ECODE_NOMEM_1
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '81'
    - item_type: preproc_def
      name: ECODE_NOMEM_2
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '82'
    - item_type: preproc_def
      name: ECODE_NOMEM_3
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '83'
    - item_type: preproc_def
      name: ECODE_NOMEM_4
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '84'
    - item_type: preproc_def
      name: ECODE_NOMEM_5
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '85'
    - item_type: preproc_def
      name: ECODE_NOMEM_6
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '86'
    - item_type: preproc_def
      name: ECODE_NOMEM_7
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '87'
    - item_type: preproc_def
      name: ECODE_NOMEM_8
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '88'
    - item_type: preproc_def
      name: ECODE_NOMEM_9
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '89'
    - item_type: preproc_def
      name: ECODE_OVERLOAD
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '98'
    - item_type: preproc_def
      name: ECODE_SLOWSHTDN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/src/rtpp_command_ecodes.h
      type_or_value: '99'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_debugon.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_pearson.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rand_table[256]
        type: uint8_t
      item_type: struct
      name: rtpp_pearson
      pos:
        line_end: 30
        line_start: 28
        source_file: /src/rtpproxy/src/rtpp_pearson.h
    typedefs: []
    union: []
- function_names:
  - rtpp_pcount_ctor
  - rtpp_pcount_dtor
  - rtpp_pcount_reg_reld
  - rtpp_pcount_reg_drop
  - rtpp_pcount_log_drops
  - rtpp_pcount_reg_ignr
  - rtpp_pcount_get_stats
  source_file: /src/rtpproxy/src/rtpp_pcount.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOP_DROPS_SIZE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/rtpproxy/src/rtpp_pcount.c
      type_or_value: '4'
    structs:
    - fields: []
      item_type: struct
      name: _rtpps_pcount
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/rtpproxy/src/rtpp_pcount.c
    - fields: []
      item_type: struct
      name: rtpp_pcount_loc
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/rtpproxy/src/rtpp_pcount.c
    - fields:
      - name: pub
        type: struct rtpp_pcount
      - name: cnt
        type: struct _rtpps_pcount
      - name: top_drop_locs[TOP_DROPS_SIZE]
        type: struct rtpp_pcount_loc
      item_type: struct
      name: rtpp_pcount_priv
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/rtpproxy/src/rtpp_pcount.c
    typedefs: []
    union: []
- function_names:
  - rtpp_stacktrace
  - rtpp_stacktrace_print
  source_file: /src/rtpproxy/src/rtpp_stacktrace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CONCAT2
  - CONCAT
  - malloc
  - free
  - free
  - realloc
  - strdup
  - asprintf
  - vasprintf
  - memcpy
  - calloc
  source_file: /src/rtpproxy/src/rtpp_memdeb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_memdeb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _SVID_SOURCE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_memdeb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MEMDEB_SYM
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/src/rtpp_memdeb.h
      type_or_value: CONCAT(CONCAT(_, MEMDEB_APP), _memdeb)
    - item_type: preproc_def
      name: RTPP_CHECK_LEAKS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/rtpproxy/src/rtpp_memdeb.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_proc_async_setprocname
  source_file: /src/rtpproxy/src/rtpp_proc_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_packet_ext.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_pcnt_strm_ctor
  - rtpp_pcnt_strm_dtor
  - rtpp_pcnt_strm_get_stats
  - rtpp_pcnt_strm_reg_pktin
  source_file: /src/rtpproxy/src/rtpp_pcnt_strm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pcnt_strm
      - name: cnt
        type: struct rtpp_pcnts_strm
      - name: lock
        type: pthread_mutex_t
      item_type: struct
      name: rtpp_pcnt_strm_priv
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_pcnt_strm.c
    typedefs: []
    union: []
- function_names:
  - RTP_HDR_LEN
  - SEQ_DIST
  - ts_less
  source_file: /src/rtpproxy/src/rtp.h
  types:
    enum:
    - enumerators:
      - name: RTP_DVI4_8000
        value: '5'
      - name: RTP_G722
        value: '9'
      - name: RTP_DVI4_22050
        value: '17'
      - name: RTP_CN
        value: '13'
      - name: RTP_UNKN
        value: '-1'
      - name: RTP_G723
        value: '4'
      - name: RTP_PCMA
        value: '8'
      - name: RTP_QCELP
        value: '12'
      - name: RTP_DVI4_11025
        value: '16'
      - name: RTP_GSM
        value: '3'
      - name: RTP_LPC
        value: '7'
      - name: RTP_G728
        value: '15'
      - name: RTP_L16_STEREO
        value: '11'
      - name: RTP_TSE
        value: '100'
      - name: RTP_PCMU
        value: '0'
      - name: RTP_DVI4_16000
        value: '6'
      - name: RTP_L16_MONO
        value: '10'
      - name: RTP_MPA
        value: '14'
      - name: RTP_G729
        value: '18'
      - name: RTP_TSE_CISCO
        value: '101'
      item_type: enum
      name: rtp_type
      pos:
        line_end: 55
        line_start: 34
        source_file: /src/rtpproxy/src/rtp.h
    - enumerators:
      - name: RTP_PTK_AUDIO
      - name: RTP_PTK_RES
      - name: RTP_PTK_UNK
        value: '0'
      - name: RTP_PTK_SIGN
      - name: RTP_PTK_VIDEO
      item_type: enum
      name: rtp_pt_kind
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/rtpproxy/src/rtp.h
    preproc_defs:
    - item_type: preproc_def
      name: RTP_NSAMPLES_UNKNOWN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/src/rtp.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: rtp_hdr_t_DEFINED
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/rtpproxy/src/rtp.h
      type_or_value: '1'
    structs:
    - fields:
      - name: ts_rate
        type: int
      - name: sample_rate
        type: int
      - name: nchannels
        type: int
      - name: pt_kind
        type: enum rtp_pt_kind
      item_type: struct
      name: rtp_profile
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/rtpproxy/src/rtp.h
    - fields:
      - name: seq
        type: unsigned int
      - name: ts
        type: uint32_t
      - name: ssrc
        type: uint32_t
      - name: csrc[0]
        type: uint32_t
      item_type: struct
      name: rtp_hdr
      pos:
        line_end: 99
        line_start: 79
        source_file: /src/rtpproxy/src/rtp.h
    - fields:
      - name: profile
        type: uint16_t
      - name: length
        type: uint16_t
      - name: extension[0]
        type: uint32_t
      item_type: struct
      name: rtp_hdr_ext
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/rtpproxy/src/rtp.h
    - fields:
      - name: bytes
        type: int
      - name: nsamples
        type: int
      - name: whole_packet_matched
        type: int
      item_type: struct
      name: rtp_packet_chunk
      pos:
        line_end: 134
        line_start: 130
        source_file: /src/rtpproxy/src/rtp.h
    typedefs:
    - item_type: typedef
      name: rtp_type_t
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/rtpproxy/src/rtp.h
      type: rtp_type
    - item_type: typedef
      name: rtp_hdr_t
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/rtpproxy/src/rtp.h
      type: rtp_hdr
    - item_type: typedef
      name: rtp_hdr_ext_t
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/rtpproxy/src/rtp.h
      type: rtp_hdr_ext
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_syslog_async.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_bindargs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BINDARG_MAX
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_bindargs.h
      type_or_value: '16'
    structs:
    - fields:
      - name: '*h'
        type: char
      - name: params
        type: struct rtpp_bindaddr_params
      - name: is_v6
        type: int
      item_type: struct
      name: bindarg
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/rtpproxy/src/rtpp_bindargs.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_ucl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ucl_object_tostring_forced
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/rtpproxy/src/rtpp_ucl.h
      type_or_value: r_ucl_object_tostring_forced
    - item_type: preproc_def
      name: ucl_object_type
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/src/rtpp_ucl.h
      type_or_value: r_ucl_object_type
    - item_type: preproc_def
      name: ucl_object_toint
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rtpproxy/src/rtpp_ucl.h
      type_or_value: r_ucl_object_toint
    - item_type: preproc_def
      name: ucl_object_key
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/src/rtpp_ucl.h
      type_or_value: r_ucl_object_key
    structs:
    - fields:
      - name: '*conf_key'
        type: char
      - name: callback
        type: conf_helper_t
      item_type: struct
      name: conf_helper_callback_map
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/rtpproxy/src/rtpp_ucl.h
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*conf_data'
        type: void
      - name: '*conf_map'
        type: conf_helper_map
      item_type: struct
      name: rtpp_module_conf
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/src/rtpp_ucl.h
    typedefs:
    - item_type: typedef
      name: ucl_object_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/rtpproxy/src/rtpp_ucl.h
      type: ucl_object_s
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_acct_pipe.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: status
        type: int
      - name: cnt
        type: int
      item_type: struct
      name: rtpp_acct_hold
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/rtpproxy/src/rtpp_acct_pipe.h
    - fields:
      - name: '*ps'
        type: struct rtpp_pcnts_strm
      - name: '*rem_addr'
        type: struct rtpp_netaddr
      - name: hld_stat
        type: struct rtpp_acct_hold
      item_type: struct
      name: rtpp_acct_face
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/rtpproxy/src/rtpp_acct_pipe.h
    - fields:
      - name: o
        type: struct rtpp_acct_face
      - name: a
        type: struct rtpp_acct_face
      - name: '*pcnts'
        type: struct rtpps_pcount
      item_type: struct
      name: rtpp_acct_pipe
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/rtpproxy/src/rtpp_acct_pipe.h
    typedefs: []
    union: []
- function_names:
  - OPT_SAVE
  - OPT_RESTORE
  - rtpp_main
  source_file: /src/rtpproxy/src/librtpp_main.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*optarg'
        type: char
      - name: optind
        type: int
      - name: optopt
        type: int
      - name: opterr
        type: int
      - name: optreset
        type: int
      item_type: struct
      name: opt_save
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/rtpproxy/src/librtpp_main.c
    typedefs: []
    union: []
- function_names:
  - rtp_packet_dup
  - rtp_packet_alloc
  - rp_wi_free
  - rtp_packet_get_wi
  - rtp_packet_set_seq
  - rtp_packet_set_ts
  - rtp_packet_parse
  - rtp_packet_is_rtcp
  - rtpp_is_rtcp_tst
  - rtp_packet_is_stun
  - rtpp_is_stun_tst
  - rtp_packet_is_dtls
  - rtpp_is_dtls_tst
  source_file: /src/rtpproxy/src/rtp_packet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTCP_PT_SR
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/rtpproxy/src/rtp_packet.c
      type_or_value: '200'
    - item_type: preproc_def
      name: RTCP_PR_SNM
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/rtpproxy/src/rtp_packet.c
      type_or_value: '213'
    - item_type: preproc_def
      name: STUN_MAGIC
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/rtpproxy/src/rtp_packet.c
      type_or_value: '0x2112A442'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/rtpp_wi_data.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/rtpp_timed.h
  types:
    enum:
    - enumerators:
      - name: CB_LAST
      - name: CB_MORE
      item_type: enum
      name: rtpp_timed_cb_rvals
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/rtpproxy/src/rtpp_timed.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/librtpproxy/packet_ext.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/librtpproxy/packetport.h
  types:
    enum:
    - enumerators:
      - name: RTPP_PACKETPORT_FLUSH_EXPLICIT
        value: '0'
      - name: RTPP_PACKETPORT_FLUSH_TIMER
      item_type: enum
      name: rtpp_packetport_flush_mode
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/rtpproxy/src/librtpproxy/packetport.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: struct SPMCQueue
      - name: '*out'
        type: struct SPMCQueue
      item_type: struct
      name: rtpp_packetport
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/rtpproxy/src/librtpproxy/packetport.h
    - fields:
      - name: capacity
        type: unsigned int
      - name: flush_mode
        type: enum rtpp_packetport_flush_mode
      - name: flush_interval
        type: struct timespec
      item_type: struct
      name: rtpp_packetport_ctor_args
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/rtpproxy/src/librtpproxy/packetport.h
    - fields:
      - name: '*data'
        type: void
      - name: dlen
        type: int
      - name: port
        type: unsigned int
      item_type: struct
      name: rtp_packet_ext
      pos:
        line_end: 33
        line_start: 29
        source_file: /src/rtpproxy/src/librtpproxy/packetport.h
    typedefs:
    - item_type: typedef
      name: (*rtp_packet_ext_dtor_t)(void *)
      pos:
        line_end: 9
        line_start: 9
        source_file: /src/rtpproxy/src/librtpproxy/packetport.h
      type: void
    union: []
- function_names:
  - pproc_handlers_alloc
  - rtpp_pproc_mgr_dtor
  - pproc_manager_ctor
  - rtpp_pproc_mgr_register
  - rtpp_pproc_mgr_handle
  - rtpp_pproc_mgr_handleat
  - RTPP_DBGCODE
  - RTPP_DBGCODE
  - rtpp_pproc_mgr_lookup
  - rtpp_pproc_mgr_unregister
  - rtpp_pproc_mgr_clone
  - rtpp_pproc_mgr_reg_drop
  source_file: /src/rtpproxy/src/advanced/pproc_manager.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: order
        type: enum pproc_order
      - name: ppif
        type: struct packet_processor_if
      item_type: struct
      name: pproc_handler
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/rtpproxy/src/advanced/pproc_manager.c
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: nprocs
        type: int
      - name: pproc[0]
        type: struct pproc_handler
      item_type: struct
      name: pproc_handlers
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/rtpproxy/src/advanced/pproc_manager.c
    - fields:
      - name: pub
        type: struct pproc_manager
      - name: lock
        type: pthread_mutex_t
      - name: '*rtpp_stats'
        type: struct rtpp_stats
      - name: npkts_discard_idx
        type: int
      - name: '*handlers'
        type: struct pproc_handlers
      item_type: struct
      name: pproc_manager_pvt
      pos:
        line_end: 66
        line_start: 60
        source_file: /src/rtpproxy/src/advanced/pproc_manager.c
    typedefs: []
    union: []
- function_names:
  - PPROC_ACT
  source_file: /src/rtpproxy/src/advanced/packet_processor.h
  types:
    enum:
    - enumerators:
      - name: PPROC_ACT_NOP_v
        value: '0'
      - name: PPROC_ACT_TAKE_v
        value: '2'
      - name: PPROC_ACT_TEE_v
        value: '1'
      - name: PPROC_ACT_DROP_v
        value: '4'
      item_type: enum
      name: pproc_action
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
    - enumerators:
      - name: _PPROC_ORD_EMPTY
        value: '0'
      - name: PPROC_ORD_CT_RECV
        value: '3'
      - name: PPROC_ORD_ANALYZE
        value: '4'
      - name: PPROC_ORD_RECV
        value: '1'
      - name: PPROC_ORD_DECRYPT
        value: '2'
      - name: PPROC_ORD_RESIZE
        value: '5'
      - name: PPROC_ORD_DECODE
        value: '6'
      - name: PPROC_ORD_PLAY
        value: '7'
      - name: PPROC_ORD_WITNESS
        value: '8'
      - name: PPROC_ORD_ENCODE
        value: '9'
      - name: PPROC_ORD_RELAY
        value: '12'
      - name: PPROC_ORD_ENCRYPT
        value: '11'
      - name: PPROC_ORD_CT_SEND
        value: '10'
      item_type: enum
      name: pproc_order
      pos:
        line_end: 64
        line_start: 50
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
    preproc_defs:
    - item_type: preproc_def
      name: PPROC_ACT_NOP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
      type_or_value: PPROC_ACT(PPROC_ACT_NOP_v)
    - item_type: preproc_def
      name: PPROC_ACT_TEE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
      type_or_value: PPROC_ACT(PPROC_ACT_TEE_v)
    - item_type: preproc_def
      name: PPROC_ACT_TAKE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
      type_or_value: PPROC_ACT(PPROC_ACT_TAKE_v)
    - item_type: preproc_def
      name: PPROC_ACT_DROP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
      type_or_value: PPROC_ACT(PPROC_ACT_DROP_v)
    structs:
    - fields:
      - name: a
        type: enum pproc_action
      - name: '*loc'
        type: struct rtpp_codeptr
      item_type: struct
      name: pproc_act
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
    - fields:
      - name: '*descr'
        type: char
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: '*arg'
        type: void
      - name: '*key'
        type: void
      - name: taste
        type: pproc_taste_t
      - name: enqueue
        type: pproc_enqueue_t
      item_type: struct
      name: packet_processor_if
      pos:
        line_end: 76
        line_start: 69
        source_file: /src/rtpproxy/src/advanced/packet_processor.h
    typedefs: []
    union: []
- function_names:
  - DECLARE_SMETHODS
  source_file: /src/rtpproxy/src/advanced/pproc_manager.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PPROC_FLAG_LGEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/src/advanced/pproc_manager.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: PPROC_FLAG_COW
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/src/advanced/pproc_manager.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: '*strmp_in'
        type: struct rtpp_stream
      - name: '*strmp_out'
        type: struct rtpp_stream
      - name: '*pktp'
        type: struct rtp_packet
      - name: '*rsp'
        type: struct rtpp_proc_rstats
      - name: '*sender'
        type: struct sthread_args
      - name: '*pproc'
        type: struct packet_processor_if
      - name: '*auxp'
        type: void
      - name: flags
        type: unsigned int
      item_type: struct
      name: pkt_proc_ctx
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/rtpproxy/src/advanced/pproc_manager.h
    typedefs: []
    union: []
- function_names:
  - get_args4remote
  - handle_copy
  source_file: /src/rtpproxy/src/commands/rpcpv1_copy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_ver.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pc_id'
        type: char
      - name: '*pc_description'
        type: char
      item_type: struct
      name: proto_cap
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/rtpproxy/src/commands/rpcpv1_ver.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_play.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ul_subc_drop_packets
  - ul_subc_copy_enqueue
  - rtpp_subcommand_ul_copy_uninstall
  - rusc_on_tgt_sess_dtor
  - rtpp_command_ul_copy_subc_pre_parse
  - rtpp_command_ul_copy_as_subc
  - rtpp_command_ul_copy_subc_parse
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: call_id
        type: rtpp_str_const_t
      - name: from_tag
        type: rtpp_str_const_t
      - name: to_tag
        type: rtpp_str_const_t
      item_type: struct
      name: rtpp_subcommand_ul_copy_pstate
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    - fields:
      - name: '*src_ppmgr'
        type: struct pproc_manager
      - name: '*tgt_strmp_in'
        type: struct rtpp_stream
      - name: '*tgt_strmp_out'
        type: struct rtpp_stream
      - name: src_key
        type: char
      - name: tgt_key
        type: char
      item_type: struct
      name: rtpp_subc_ul_copy_fwd
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: fwd[2][2]
        type: struct rtpp_subc_ul_copy_fwd
      item_type: struct
      name: rtpp_subcommand_ul_copy_state
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.c
    typedefs: []
    union: []
- function_names:
  - CHECK_OVERFLOW
  - handle_query_simple
  - PULL_RST
  - PULL_JRST
  - PULL_PCNT
  - PULL_PCNT_STRM
  - handle_query
  source_file: /src/rtpproxy/src/commands/rpcpv1_query.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUBC_FAIL_RSP
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/rtpproxy/src/commands/rpcpv1_query.c
      type_or_value: '" && -1"'
    - item_type: preproc_def
      name: SUBC_OK_RSP
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/rtpproxy/src/commands/rpcpv1_query.c
      type_or_value: '" && 0"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_record.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: record_single_file
        type: int
      - name: reply_port
        type: int
      item_type: struct
      name: record_opts
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/rtpproxy/src/commands/rpcpv1_record.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_copy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_cmd_delete_ematch
  - do_delete
  - handle_delete
  - handle_delete_as_subc
  - rtpp_command_del_opts_parse
  source_file: /src/rtpproxy/src/commands/rpcpv1_delete.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*to_tag'
        type: rtpp_str_t
      - name: weak
        type: int
      - name: '*sessions_wrt'
        type: struct rtpp_weakref
      - name: res
        type: "struct {\n        int ndeleted;\n        struct rtpp_session *spa;\n
          \       int cmpr;\n        unsigned int medianum;\n    }"
      item_type: struct
      name: delete_ematch_arg
      pos:
        line_end: 72
        line_start: 60
        source_file: /src/rtpproxy/src/commands/rpcpv1_delete.c
    - fields:
      - name: pub
        type: struct delete_opts
      - name: weak
        type: int
      item_type: struct
      name: delete_opts_priv
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/rtpproxy/src/commands/rpcpv1_delete.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_norecord.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_query.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTPP_QUERY_NSTATS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/src/commands/rpcpv1_query.h
      type_or_value: '11'
    structs: []
    typedefs: []
    union: []
- function_names:
  - FREE_IF_NULL
  - BC_appendf
  - BC_append
  - ul_reply_port
  - ul_opts_init
  - rtpp_command_ul_opts_free
  - IS_IPSTR_VALID
  - ul_opts_parse_packetport_i
  - ul_opts_parse_packetport
  - rtpp_command_ul_opts_parse_inner
  - rtpp_command_ul_pre_parse
  - rtpp_command_ul_opts_parse
  - handle_nomem
  - format_ul_reply_result
  - rtpp_command_ul_handle_impl
  - UL_FAIL
  - rtpp_command_ul_handle
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPSTR_MIN_LENv4
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: IPSTR_MAX_LENv4
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: IPSTR_MIN_LENv6
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: IPSTR_MAX_LENv6
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
      type_or_value: '45'
    - item_type: preproc_def
      name: RTPP_ULA_RTQ_PREFIX
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
      type_or_value: '"RTQ:"'
    structs:
    - fields:
      - name: '*ia'
        type: struct rtpp_bindaddr
      - name: port
        type: int
      item_type: struct
      name: ul_reply
      pos:
        line_end: 91
        line_start: 88
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    - fields:
      - name: asymmetric
        type: int
      - name: weak
        type: int
      - name: requested_ptime
        type: int
      - name: '*codecs'
        type: char
      - name: '*addr'
        type: rtpp_str_t
      - name: '*port'
        type: rtpp_str_t
      - name: '*ia[2]'
        type: struct sockaddr
      - name: '*lia[2]'
        type: struct rtpp_bindaddr
      - name: reply
        type: struct ul_reply
      - name: lidx
        type: int
      - name: '*local_addr'
        type: struct rtpp_bindaddr
      - name: '*notify_socket'
        type: rtpp_str_t
      - name: notify_tag
        type: rtpp_str_const_t
      - name: pf
        type: int
      - name: new_port
        type: int
      - name: packetport
        type: struct rtpp_packetport_ref
      - name: '*lpacketport'
        type: struct rtpp_packetport_int
      - name: onhold
        type: int
      item_type: struct
      name: ul_opts
      pos:
        line_end: 115
        line_start: 93
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.c
    typedefs: []
    union: []
- function_names:
  - RSF_MODE_DFLT
  source_file: /src/rtpproxy/src/commands/rpcpv1_copy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_command_play_opts_parse
  - rtpp_command_play_opts_free
  - rtpp_command_play_handle
  source_file: /src/rtpproxy/src/commands/rpcpv1_play.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: int
      - name: '*pname'
        type: rtpp_str_t
      - name: '*codecs'
        type: rtpp_str_t
      item_type: struct
      name: play_opts
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/rtpproxy/src/commands/rpcpv1_play.c
    typedefs: []
    union: []
- function_names:
  - handle_stop_record
  - rtpp_cmd_norecord_ematch
  - handle_norecord
  source_file: /src/rtpproxy/src/commands/rpcpv1_norecord.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nrecorded
        type: int
      - name: all
        type: int
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*to_tag'
        type: rtpp_str_t
      - name: '*cfsp'
        type: struct rtpp_cfg
      item_type: struct
      name: norecord_ematch_arg
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/rtpproxy/src/commands/rpcpv1_norecord.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.h
  types:
    enum:
    - enumerators:
      - name: SET_FORWARD
        value: '0'
      - name: SET_REVERSE
        value: '1'
      item_type: enum
      name: rtpp_subcommand_set_direction
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.h
    - enumerators:
      - name: SET_PRM_TTL
      - name: SET_PRM_PPS
      - name: SET_PRM_TOS
      - name: SET_PRM_SSRC_IN
      - name: SET_PRM_MPS
      - name: SET_PRM_SSRC_OUT
      item_type: enum
      name: rtpp_subcommand_set_param
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: val
        type: int
      - name: val_rtcp
        type: int
      - name: param
        type: enum rtpp_subcommand_set_param
      - name: direction
        type: enum rtpp_subcommand_set_direction
      item_type: struct
      name: rtpp_subcommand_set
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.h
    typedefs: []
    union: []
- function_names:
  - rtpp_cmd_record_ematch
  - handle_record
  - rtpp_command_record_opts_parse
  source_file: /src/rtpproxy/src/commands/rpcpv1_record.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nrecorded
        type: int
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*to_tag'
        type: rtpp_str_t
      - name: '*rop'
        type: struct record_opts
      - name: '*cfsp'
        type: struct rtpp_cfg
      item_type: struct
      name: record_ematch_arg
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/rtpproxy/src/commands/rpcpv1_record.c
    typedefs: []
    union: []
- function_names:
  - CHECK_OVERFLOW
  - handle_get_stats
  source_file: /src/rtpproxy/src/commands/rpcpv1_stats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_ver_feature
  - iterate_proto_caps
  source_file: /src/rtpproxy/src/commands/rpcpv1_ver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_delete.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      item_type: struct
      name: delete_opts
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/rtpproxy/src/commands/rpcpv1_delete.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: op
        type: int
      - name: '*cmods'
        type: char
      - name: '*call_id'
        type: rtpp_str_t
      - name: '*from_tag'
        type: rtpp_str_t
      - name: '*to_tag'
        type: rtpp_str_t
      - name: '*addr'
        type: rtpp_str_t
      - name: '*port'
        type: rtpp_str_t
      - name: '*notify_socket'
        type: rtpp_str_t
      - name: notify_tag
        type: rtpp_str_const_t
      - name: has_notify
        type: int
      item_type: struct
      name: rtpp_command_ul_pcmd
      pos:
        line_end: 53
        line_start: 42
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul.h
    typedefs: []
    union: []
- function_names:
  - rtpp_command_ul_subc_pre_parse
  - rtpp_command_ul_as_subc
  - rtpp_command_ul_look_subc_parse
  - handle_mod_subc_parse
  - rtpp_subcommand_ul_opts_parse
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rcnt'
        type: struct rtpp_refcnt
      - name: scmd
        type: struct rtpp_command
      item_type: struct
      name: rtpp_subcommand_ul_lstate
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc.c
    typedefs: []
    union: []
- function_names:
  - strmp_settos
  - parse_rtp_rtcp_vals
  - rtpp_subcommand_set_handler
  - handle_set_subc_parse
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc_set.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_stats.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/src/commands/rpcpv1_ul_subc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getreturnaddr
  - backtrace
  - getstackcookie
  source_file: /src/rtpproxy/libexecinfo/execinfo_luw.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/libexecinfo/execinfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/libexecinfo/stacktraverse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STACKTRAVERSE_MAX_LEVELS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/libexecinfo/stacktraverse.h
      type_or_value: '127'
    structs: []
    typedefs: []
    union: []
- function_names:
  - testfunc1
  source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - testbody
  - wrkthr
  - main
  source_file: /src/rtpproxy/libexecinfo/execinfo_check.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_d10
  - execinfo_set_topframe
  - backtrace
  - getstackcookie
  - backtrace_symbols
  - backtrace_symbols_fd
  - execinfo_TEST
  source_file: /src/rtpproxy/libexecinfo/execinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - testfunc
  source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getreturnaddr
  - getframeaddr
  source_file: /src/rtpproxy/libexecinfo/stacktraverse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/libexecinfo/execinfo_testfunc1.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROR
  source_file: /src/rtpproxy/libexecinfo/execinfo_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINELEN_MAX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/libexecinfo/execinfo_internal.h
      type_or_value: '512'
    - item_type: preproc_def
      name: STACKTRAVERSE_MAX_LEVELS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/libexecinfo/execinfo_internal.h
      type_or_value: '127'
    structs:
    - fields:
      - name: '*topframe'
        type: void
      - name: bt_buffer[STACKTRAVERSE_MAX_LEVELS * LINELEN_MAX]
        type: char
      - name: '*bt_rvals[STACKTRAVERSE_MAX_LEVELS]'
        type: char
      - name: sc_randtable[STACKTRAVERSE_MAX_LEVELS + 1]
        type: unsigned int
      item_type: struct
      name: libexecinfo_ns
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/rtpproxy/libexecinfo/execinfo_internal.h
    typedefs: []
    union: []
- function_names:
  - rtpp_genuid_gen_fin
  - rtpp_genuid_fin
  - CALL_TFIN
  - rtpp_genuid_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_genuid
      item_type: struct
      name: '*tp'
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/rtpproxy/autosrc/rtpp_genuid_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_hash_table_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_wref_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - addr2bindaddr_fin
  - bindaddr4af_fin
  - host2bindaddr_fin
  - label2bindaddr_fin
  - local4remote_fin
  - rtpp_bindaddrs_fin
  - CALL_TFIN
  - rtpp_bindaddrs_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_bindaddrs
      item_type: struct
      name: '*tp'
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_refproxy_add_fin
  - rtpp_refproxy_fin
  - CALL_TFIN
  - rtpp_refproxy_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_refproxy
      item_type: struct
      name: '*tp'
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/rtpproxy/autosrc/rtpp_refproxy_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_wref_getref_fin
  - rtpp_wref_setref_fin
  - rtpp_wref_fin
  - CALL_TFIN
  - rtpp_wref_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_wref_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_wref
      item_type: struct
      name: '*tp'
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_wref_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_socket_bind_fin
  - rtpp_socket_drain_fin
  - rtpp_socket_get_session_link_fin
  - rtpp_socket_get_stream_link_fin
  - rtpp_socket_get_stuid_fin
  - rtpp_socket_getfd_fin
  - rtpp_socket_link_session_fin
  - rtpp_socket_link_stream_fin
  - rtpp_socket_rtp_recv_fin
  - rtpp_socket_send_pkt_na_fin
  - rtpp_socket_set_stuid_fin
  - rtpp_socket_setnonblock_fin
  - rtpp_socket_setrbuf_fin
  - rtpp_socket_settimestamp_fin
  - rtpp_socket_settos_fin
  - rtpp_socket_fin
  - CALL_TFIN
  - rtpp_socket_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_socket_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_socket
      item_type: struct
      name: '*tp'
      pos:
        line_end: 121
        line_start: 119
        source_file: /src/rtpproxy/autosrc/rtpp_socket_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_socket_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_command_reply_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_module_if_construct_fin
  - rtpp_module_if_do_acct_fin
  - rtpp_module_if_do_acct_rtcp_fin
  - rtpp_module_if_get_mconf_fin
  - rtpp_module_if_kaput_fin
  - rtpp_module_if_load_fin
  - rtpp_module_if_start_fin
  - rtpp_module_if_fin
  - CALL_TFIN
  - rtpp_module_if_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_module_if
      item_type: struct
      name: '*tp'
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/rtpproxy/autosrc/rtpp_module_if_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_pcount_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_stats_getidxbyname_fin
  - rtpp_stats_getlvalbyname_fin
  - rtpp_stats_getnstats_fin
  - rtpp_stats_nstr_fin
  - rtpp_stats_update_derived_fin
  - rtpp_stats_updatebyidx_fin
  - rtpp_stats_updatebyname_fin
  - rtpp_stats_updatebyname_d_fin
  - rtpp_stats_fin
  - CALL_TFIN
  - rtpp_stats_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_stats_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_stats
      item_type: struct
      name: '*tp'
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/rtpproxy/autosrc/rtpp_stats_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_record_write_fin
  - rtpp_record_fin
  - CALL_TFIN
  - rtpp_record_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_record_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_record
      item_type: struct
      name: '*tp'
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/rtpproxy/autosrc/rtpp_record_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_ttl_decr_fin
  - rtpp_ttl_get_remaining_fin
  - rtpp_ttl_reset_fin
  - rtpp_ttl_reset_with_fin
  - rtpp_ttl_fin
  - CALL_TFIN
  - rtpp_ttl_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_ttl
      item_type: struct
      name: '*tp'
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_ttl_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_modman_do_acct_fin
  - rtpp_modman_get_next_id_fin
  - rtpp_modman_get_ul_subc_h_fin
  - rtpp_modman_insert_fin
  - rtpp_modman_startall_fin
  - rtpp_modman_fin
  - CALL_TFIN
  - rtpp_modman_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_modman_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_modman
      item_type: struct
      name: '*tp'
      pos:
        line_end: 63
        line_start: 61
        source_file: /src/rtpproxy/autosrc/rtpp_modman_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_weakref_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_server_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_timed_task_cancel_fin
  - rtpp_timed_task_fin
  - CALL_TFIN
  - rtpp_timed_task_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_timed_task
      item_type: struct
      name: '*tp'
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/rtpproxy/autosrc/rtpp_timed_task_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_pipe_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_ringbuf_flush_fin
  - rtpp_ringbuf_locate_fin
  - rtpp_ringbuf_push_fin
  - rtpp_ringbuf_fin
  - CALL_TFIN
  - rtpp_ringbuf_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_ringbuf
      item_type: struct
      name: '*tp'
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_ringbuf_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_refcnt_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_wrt_foreach_fin
  - rtpp_wrt_get_by_idx_fin
  - rtpp_wrt_get_length_fin
  - rtpp_wrt_move_fin
  - rtpp_wrt_purge_fin
  - rtpp_wrt_reg_fin
  - rtpp_wrt_set_on_first_fin
  - rtpp_wrt_set_on_last_fin
  - rtpp_wrt_unreg_fin
  - rtpp_weakref_fin
  - CALL_TFIN
  - rtpp_weakref_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_weakref
      item_type: struct
      name: '*tp'
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/rtpproxy/autosrc/rtpp_weakref_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_packetport_next_in_port_fin
  - rtpp_packetport_next_out_port_fin
  - rtpp_packetport_reg_stream_fin
  - rtpp_packetport_reg_streams_fin
  - rtpp_packetport_send_pkt_na_fin
  - rtpp_packetport_unreg_stream_fin
  - rtpp_packetport_int_fin
  - CALL_TFIN
  - rtpp_packetport_int_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_packetport_int
      item_type: struct
      name: '*tp'
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/rtpproxy/autosrc/rtpp_packetport_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_table_append_refcnt_fin
  - hash_table_append_str_refcnt_fin
  - hash_table_find_fin
  - hash_table_find_str_fin
  - hash_table_foreach_fin
  - hash_table_foreach_key_fin
  - hash_table_foreach_key_str_fin
  - hash_table_get_length_fin
  - hash_table_purge_fin
  - hash_table_remove_fin
  - hash_table_remove_by_key_fin
  - hash_table_remove_str_fin
  - hash_table_transfer_fin
  - rtpp_hash_table_fin
  - CALL_TFIN
  - rtpp_hash_table_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_hash_table
      item_type: struct
      name: '*tp'
      pos:
        line_end: 109
        line_start: 107
        source_file: /src/rtpproxy/autosrc/rtpp_hash_table_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_port_table_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_si_append_fin
  - rtpp_si_remove_fin
  - rtpp_si_sync_polltbl_fin
  - rtpp_si_update_fin
  - rtpp_sessinfo_fin
  - CALL_TFIN
  - rtpp_sessinfo_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_sessinfo
      item_type: struct
      name: '*tp'
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_proc_servers_plr_start_fin
  - rtpp_proc_servers_reg_fin
  - rtpp_proc_servers_unreg_fin
  - rtpp_proc_servers_fin
  - CALL_TFIN
  - rtpp_proc_servers_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_proc_servers
      item_type: struct
      name: '*tp'
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_proc_servers_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_proc_wakeup_nudge_fin
  - rtpp_proc_wakeup_fin
  - CALL_TFIN
  - rtpp_proc_wakeup_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_proc_wakeup
      item_type: struct
      name: '*tp'
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/rtpproxy/autosrc/rtpp_proc_wakeup_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_analyzer_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_netaddr_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_bindaddrs_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_log_obj_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_ptbl_get_port_fin
  - rtpp_port_table_fin
  - CALL_TFIN
  - rtpp_port_table_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_port_table
      item_type: struct
      name: '*tp'
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/rtpproxy/autosrc/rtpp_port_table_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_timed_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpc_reply_append_fin
  - rtpc_reply_append_port_addr_fin
  - rtpc_reply_append_port_addr_s_fin
  - rtpc_reply_appendf_fin
  - rtpc_reply_commit_fin
  - rtpc_reply_deliver_fin
  - rtpc_reply_deliver_error_fin
  - rtpc_reply_deliver_number_fin
  - rtpc_reply_deliver_ok_fin
  - rtpc_reply_deliver_port_addr_fin
  - rtpc_reply_reserve_fin
  - rtpc_reply_fin
  - CALL_TFIN
  - rtpc_reply_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpc_reply
      item_type: struct
      name: '*tp'
      pos:
        line_end: 97
        line_start: 95
        source_file: /src/rtpproxy/autosrc/rtpp_command_reply_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_server_get_fin
  - rtpp_server_get_seq_fin
  - rtpp_server_get_ssrc_fin
  - rtpp_server_set_seq_fin
  - rtpp_server_set_ssrc_fin
  - rtpp_server_start_fin
  - rtpp_server_fin
  - CALL_TFIN
  - rtpp_server_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_server_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_server
      item_type: struct
      name: '*tp'
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/rtpproxy/autosrc/rtpp_server_fin.c
    typedefs: []
    union: []
- function_names:
  - rcache_insert_fin
  - rcache_lookup_fin
  - rcache_shutdown_fin
  - rtpp_cmd_rcache_fin
  - CALL_TFIN
  - rtpp_cmd_rcache_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_cmd_rcache
      item_type: struct
      name: '*tp'
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_command_rcache_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_stream_finish_playback_fin
  - rtpp_stream_get_actor_fin
  - rtpp_stream_get_packetport_fin
  - rtpp_stream_get_proto_fin
  - rtpp_stream_get_rem_addr_fin
  - rtpp_stream_get_sender_fin
  - rtpp_stream_get_skt_fin
  - rtpp_stream_get_stats_fin
  - rtpp_stream_guess_addr_fin
  - rtpp_stream_handle_noplay_fin
  - rtpp_stream_handle_play_fin
  - rtpp_stream_isplayer_active_fin
  - rtpp_stream_issendable_fin
  - rtpp_stream_latch_fin
  - rtpp_stream_latch_getmode_fin
  - rtpp_stream_latch_setmode_fin
  - rtpp_stream_link_sender_fin
  - rtpp_stream_locklatch_fin
  - rtpp_stream_prefill_addr_fin
  - rtpp_stream_refill_pps_bucket_fin
  - rtpp_stream_reg_onhold_fin
  - rtpp_stream_rx_fin
  - rtpp_stream_send_pkt_fin
  - rtpp_stream_send_pkt_to_fin
  - rtpp_stream_set_max_pkt_size_fin
  - rtpp_stream_set_packetport_fin
  - rtpp_stream_set_pps_limit_fin
  - rtpp_stream_set_skt_fin
  - rtpp_stream_unreg_fin
  - rtpp_stream_update_skt_fin
  - rtpp_stream_fin
  - CALL_TFIN
  - rtpp_stream_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_stream_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_stream
      item_type: struct
      name: '*tp'
      pos:
        line_end: 211
        line_start: 209
        source_file: /src/rtpproxy/autosrc/rtpp_stream_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_pcnt_strm_get_stats_fin
  - rtpp_pcnt_strm_reg_pktin_fin
  - rtpp_pcnt_strm_fin
  - CALL_TFIN
  - rtpp_pcnt_strm_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pcnt_strm
      item_type: struct
      name: '*tp'
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_packetport_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_pearson_perfect_hash_fin
  - rtpp_pearson_perfect_fin
  - CALL_TFIN
  - rtpp_pearson_perfect_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pearson_perfect
      item_type: struct
      name: '*tp'
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/rtpproxy/autosrc/rtpp_pearson_perfect_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_genuid_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_stats_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_netaddr_cmp_fin
  - rtpp_netaddr_cmphost_fin
  - rtpp_netaddr_copy_fin
  - rtpp_netaddr_get_fin
  - rtpp_netaddr_isaddrseq_fin
  - rtpp_netaddr_isempty_fin
  - rtpp_netaddr_set_fin
  - rtpp_netaddr_sip_print_fin
  - rtpp_netaddr_fin
  - CALL_TFIN
  - rtpp_netaddr_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_netaddr
      item_type: struct
      name: '*tp'
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/rtpproxy/autosrc/rtpp_netaddr_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_rw_lock_lock_fin
  - rtpp_rw_lock_unlock_fin
  - rtpp_rw_lock_upgrade_fin
  - rtpp_rw_lock_fin
  - CALL_TFIN
  - rtpp_rw_lock_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_rw_lock
      item_type: struct
      name: '*tp'
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_rw_lock_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_modman_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_stream_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_refproxy_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_ttl_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_record_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - refcnt_attach_fin
  - refcnt_attach_nc_fin
  - refcnt_attach_rc_fin
  - refcnt_attach_rc_nc_fin
  - refcnt_decref_fin
  - refcnt_getdata_fin
  - refcnt_incref_fin
  - refcnt_peek_fin
  - refcnt_traceen_fin
  - refcnt_tryincref_fin
  - rtpp_refcnt_fin
  - CALL_TFIN
  - rtpp_refcnt_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_refcnt
      item_type: struct
      name: '*tp'
      pos:
        line_end: 91
        line_start: 89
        source_file: /src/rtpproxy/autosrc/rtpp_refcnt_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_timed_schedule_fin
  - rtpp_timed_schedule_rc_fin
  - rtpp_timed_shutdown_fin
  - rtpp_timed_fin
  - CALL_TFIN
  - rtpp_timed_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_timed_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_timed
      item_type: struct
      name: '*tp'
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_timed_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_pipe_decr_ttl_fin
  - rtpp_pipe_get_stats_fin
  - rtpp_pipe_get_ttl_fin
  - rtpp_pipe_upd_cntrs_fin
  - rtpp_pipe_fin
  - CALL_TFIN
  - rtpp_pipe_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pipe
      item_type: struct
      name: '*tp'
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/rtpproxy/autosrc/rtpp_pipe_fin.c
    typedefs: []
    union: []
- function_names:
  - rtpp_pcount_get_stats_fin
  - rtpp_pcount_log_drops_fin
  - rtpp_pcount_reg_drop_fin
  - rtpp_pcount_reg_ignr_fin
  - rtpp_pcount_reg_reld_fin
  - rtpp_pcount_fin
  - CALL_TFIN
  - rtpp_pcount_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_pcount
      item_type: struct
      name: '*tp'
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/rtpproxy/autosrc/rtpp_pcount_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_module_if_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_analyzer_get_jstats_fin
  - rtpp_analyzer_get_stats_fin
  - rtpp_analyzer_update_fin
  - rtpp_analyzer_fin
  - CALL_TFIN
  - rtpp_analyzer_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_analyzer
      item_type: struct
      name: '*tp'
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/rtpproxy/autosrc/rtpp_analyzer_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_pcnt_strm_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_log_ewrite_fin
  - rtpp_log_setlevel_fin
  - rtpp_log_start_fin
  - rtpp_log_write_fin
  - rtpp_log_fin
  - CALL_TFIN
  - rtpp_log_fintest
  source_file: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pub
        type: struct rtpp_log
      item_type: struct
      name: '*tp'
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/rtpproxy/autosrc/rtpp_log_obj_fin.c
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_timed_task_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTPP_AUTOTRAP
  source_file: /src/rtpproxy/autosrc/rtpp_sessinfo_fin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/scripts/fuzz/fuzz_command_parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_rtcp_parser_init
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtcp_parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ttl'
        type: char
      - name: '*setup_ttl'
        type: char
      - name: '*socket'
        type: char
      - name: '*debug_level'
        type: char
      - name: '*notify_socket'
        type: char
      - name: '*rec_spool_dir'
        type: char
      - name: '*rec_final_dir'
        type: char
      - name: '*modules[]'
        type: char
      item_type: struct
      name: RTPPInitializeParams
      pos:
        line_end: 11
        line_start: 2
        source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.h
    - fields:
      - name: '*cfsp'
        type: struct rtpp_cfg
      - name: tfd
        type: int
      item_type: struct
      name: rtpp_conf
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/scripts/fuzz/rfz_chunk.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: '*data'
        type: char
      - name: rem_size
        type: size_t
      - name: '*rem_data'
        type: char
      item_type: struct
      name: rfz_chunk
      pos:
        line_end: 7
        line_start: 2
        source_file: /src/rtpproxy/scripts/fuzz/rfz_chunk.h
    typedefs: []
    union: []
- function_names:
  - howmany
  - OPT_SAVE
  - OPT_RESTORE
  - cleanupHandler
  - dRAND_bytes
  - dRAND_status
  - SeedRNGs
  - RTPPInitialize
  source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_CONFIG_H
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*optarg'
        type: char
      - name: optind
        type: int
      - name: optopt
        type: int
      - name: opterr
        type: int
      - name: optreset
        type: int
      item_type: struct
      name: opt_save
      pos:
        line_end: 46
        line_start: 40
        source_file: /src/rtpproxy/scripts/fuzz/rfz_utils.c
    typedefs: []
    union: []
- function_names:
  - fuzz_ctx_dtor
  - ExecuteScript
  - LLVMFuzzerInitialize
  - wi_proc_complete
  - proc_foreach
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_CONFIG_H
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
      type_or_value: '1'
    structs:
    - fields:
      - name: wi_proc_done
        type: sem_t
      item_type: struct
      name: fuzz_ctx
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    - fields:
      - name: '*data'
        type: char
      - name: size
        type: size_t
      - name: '*rsp'
        type: struct rtpp_proc_rstats
      - name: nwait
        type: int
      item_type: struct
      name: foreach_args
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    - fields: []
      item_type: struct
      name: op_flags
      pos:
        line_end: 155
        line_start: 148
        source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_session.c
    typedefs: []
    union: []
- function_names:
  - ExecuteRTPPCommand
  source_file: /src/rtpproxy/scripts/fuzz/rfz_command.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_CONFIG_H
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/scripts/fuzz/rfz_command.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/scripts/fuzz/rfz_command.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_init
  - main
  - __asan_default_options
  source_file: /src/rtpproxy/scripts/fuzz/fuzz_standalone.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rfz_get_chunk
  source_file: /src/rtpproxy/scripts/fuzz/rfz_chunk.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/scripts/fuzz/fuzz_rtp_parser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rdtsc
  - srandomdev
  - genrandomdest
  - genrandombuf
  - socket_ctor
  - generate_workset
  - sstosin
  - connect_workset
  - getdtime
  - timespec2dtime
  - process_workset
  - process_recvset
  - release_workset
  - release_recvset
  - generate_recvset
  - setrlimits
  - run_test
  - usage
  - tk2str
  - print_test_stats
  - main
  source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UC_MAX_THREADS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: '64'
    - item_type: preproc_def
      name: SO_REUSEPORT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: SO_REUSEADDR
    - item_type: preproc_def
      name: TEST_KIND_ALL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_KIND_UNCONNECTED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_KIND_CONNECTED
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TEST_KIND_HALFCONN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_KIND_MAX
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: TEST_KIND_CONNECTED
    - item_type: preproc_def
      name: RTPP_CLOCK
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: CLOCK_UPTIME_PRECISE
    - item_type: preproc_def
      name: RTPP_CLOCK
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: CLOCK_MONOTONIC_RAW
    - item_type: preproc_def
      name: RTPP_CLOCK
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
      type_or_value: CLOCK_MONOTONIC
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*nm_shrt'
        type: char
      - name: tk
        type: int
      item_type: struct
      name: "test_kinds[] = {\n    {.name = \"unconnected\", .nm_shrt = \"unconn.\",
        .tk = TEST_KIND_UNCONNECTED},\n    {.name = \"connected\", .nm_shrt = \"conn.\",
        .tk = TEST_KIND_CONNECTED},\n    {.name = \"half-connected\", .nm_shrt = \"hlf.conn.\",
        .tk = TEST_KIND_HALFCONN},\n    {.name = NULL}\n}"
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - fields:
      - name: nthreads_max
        type: int
      - name: nthreads_min
        type: int
      - name: paylen_min
        type: int
      - name: paylen_max
        type: int
      - name: '*dstaddrs'
        type: struct addrinfo
      - name: ndstaddrs
        type: int
      - name: '*dstaddr'
        type: char
      - name: dstnetpref
        type: int
      - name: test_kind
        type: int
      - name: magic
        type: uint64_t
      - name: sock_block
        type: int
      - name: nsess_per_thr
        type: int
      - name: max_sess_pps
        type: double
      item_type: struct
      name: tconf
      pos:
        line_end: 106
        line_start: 92
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - fields:
      - name: magic
        type: uint64_t
      - name: send_ts
        type: uint64_t
      - name: idx
        type: int
      item_type: struct
      name: pktdata
      pos:
        line_end: 152
        line_start: 148
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - fields:
      - name: sin
        type: int
      - name: sout
        type: int
      - name: sconnected
        type: int
      - name: daddr
        type: struct sockaddr_storage
      - name: buflen
        type: int
      - name: buf
        type: union pkt
      item_type: struct
      name: destination
      pos:
        line_end: 167
        line_start: 159
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - fields:
      - name: tid
        type: pthread_t
      - name: nreps
        type: int
      - name: ndest
        type: int
      - name: max_pps
        type: double
      - name: stime
        type: double
      - name: etime
        type: double
      - name: send_nerrs
        type: uint64_t
      - name: send_nshrts
        type: uint64_t
      - name: dests[0]
        type: struct destination
      item_type: struct
      name: workset
      pos:
        line_end: 180
        line_start: 169
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - fields:
      - name: tid
        type: pthread_t
      - name: ndest
        type: int
      - name: max_pollps
        type: double
      - name: '**nrecvd'
        type: uint64_t
      - name: nrecvd_total
        type: uint64_t
      - name: npolls
        type: uint64_t
      - name: rtt_total
        type: uint64_t
      - name: stime
        type: double
      - name: etime
        type: double
      - name: done
        type: int
      - name: magic
        type: uint64_t
      - name: pollset[0]
        type: struct pollfd
      item_type: struct
      name: recvset
      pos:
        line_end: 196
        line_start: 182
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    - fields:
      - name: total_pps
        type: double
      - name: total_poll_rate
        type: double
      - name: ploss_ratio
        type: double
      - name: send_nerrs_ratio
        type: double
      - name: send_nshrts_ratio
        type: double
      item_type: struct
      name: tstats
      pos:
        line_end: 580
        line_start: 574
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
    typedefs: []
    union:
    - fields:
      - name: d[256]
        type: unsigned char
      - name: pd
        type: struct pktdata
      item_type: union
      name: pkt
      pos:
        line_end: 157
        line_start: 154
        source_file: /src/rtpproxy/pertools/udp_contention/udp_contention.c
- function_names:
  - SA_LEN
  - resolve
  - sender
  - receiver
  - main
  source_file: /src/rtpproxy/pertools/udp_storm/udp_storm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RECV_UDP_MAXLEN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/pertools/udp_storm/udp_storm.c
      type_or_value: (10*1024)
    - item_type: preproc_def
      name: RECV_UDP_MAXPKTS
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/rtpproxy/pertools/udp_storm/udp_storm.c
      type_or_value: '16'
    structs:
    - fields:
      - name: mhdr
        type: struct mmsghdr
      - name: miov
        type: struct iovec
      - name: rbuf[1024]
        type: char
      item_type: struct
      name: rdata
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    - fields:
      - name: snd
        type: struct sender_arg
      - name: rcv
        type: struct receiver_arg
      item_type: struct
      name: '*sa'
      pos:
        line_end: 220
        line_start: 217
        source_file: /src/rtpproxy/pertools/udp_storm/udp_storm.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/rtpproxy/bench/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DST_IP
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/bench/main.c
      type_or_value: '"127.0.0.1"'
    - item_type: preproc_def
      name: DST_PORT
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/bench/main.c
      type_or_value: '35000'
    - item_type: preproc_def
      name: SRC_IP1
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/bench/main.c
      type_or_value: '"10.0.0.1"'
    - item_type: preproc_def
      name: SRC_IP2
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/bench/main.c
      type_or_value: '"10.0.0.2"'
    - item_type: preproc_def
      name: SRC_PORT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/bench/main.c
      type_or_value: DST_PORT
    - item_type: preproc_def
      name: NPACKETS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/bench/main.c
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MYQ_INIT
  - MYQ_FIRST
  - MYQ_LAST
  - MYQ_NEXT
  - MYQ_PREV
  - MYQ_EMPTY
  - MYQ_FOREACH
  - MYQ_FOREACH_REVERSE
  - MYQ_INSERT_HEAD
  - MYQ_INSERT_AFTER
  - MYQ_REMOVE
  - RPLOAD
  - RPLEN
  source_file: /src/rtpproxy/extractaudio/session.h
  types:
    enum:
    - enumerators:
      - name: B_CH
      - name: A_CH
      item_type: enum
      name: origin
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/rtpproxy/extractaudio/session.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*pkt'
        type: struct pkt_hdr_adhoc
      - name: parsed
        type: struct rtp_info
      - name: '*rpkt'
        type: rtp_hdr_t
      - name: '*prev'
        type: struct packet
      - name: '*next'
        type: struct packet
      item_type: struct
      name: packet
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/rtpproxy/extractaudio/session.h
    - fields:
      - name: '*first'
        type: struct packet
      - name: '*last'
        type: struct packet
      item_type: struct
      name: session
      pos:
        line_end: 94
        line_start: 91
        source_file: /src/rtpproxy/extractaudio/session.h
    - fields:
      - name: session
        type: struct session
      - name: '*decoder'
        type: void
      - name: skip
        type: unsigned int
      - name: origin
        type: enum origin
      - name: '*crypto'
        type: struct eaud_crypto
      - name: btime
        type: double
      - name: etime
        type: double
      item_type: struct
      name: channel
      pos:
        line_end: 106
        line_start: 98
        source_file: /src/rtpproxy/extractaudio/session.h
    - fields:
      - name: '*cp'
        type: struct channel
      - name: '*prev'
        type: struct cnode
      - name: '*next'
        type: struct cnode
      item_type: struct
      name: cnode
      pos:
        line_end: 111
        line_start: 107
        source_file: /src/rtpproxy/extractaudio/session.h
    - fields:
      - name: '*first'
        type: struct cnode
      - name: '*last'
        type: struct cnode
      item_type: struct
      name: channels
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/rtpproxy/extractaudio/session.h
    - fields:
      - name: '*src'
        type: struct rtpp_netaddr
      - name: '*dst'
        type: struct rtpp_netaddr
      item_type: struct
      name: stream
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/rtpproxy/extractaudio/session.h
    - fields:
      - name: '*first'
        type: struct stream
      - name: '*last'
        type: struct stream
      item_type: struct
      name: streams
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/rtpproxy/extractaudio/session.h
    typedefs: []
    union: []
- function_names:
  - ntohsp
  - eaud_pcap_dissect
  source_file: /src/rtpproxy/extractaudio/eaud_pcap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/format_au.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUDIO_FILE_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/extractaudio/format_au.h
      type_or_value: ((uint32_t)0x2e736e64)
    - item_type: preproc_def
      name: AUDIO_FILE_ENCODING_MULAW_8
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/extractaudio/format_au.h
      type_or_value: (1)
    - item_type: preproc_def
      name: AUDIO_FILE_ENCODING_LINEAR_16
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/extractaudio/format_au.h
      type_or_value: (3)
    structs:
    - fields:
      - name: magic
        type: uint32_t
      - name: hdr_size
        type: uint32_t
      - name: data_size
        type: uint32_t
      - name: encoding
        type: uint32_t
      - name: sample_rate
        type: uint32_t
      - name: channels
        type: uint32_t
      item_type: struct
      name: filehdr_au
      pos:
        line_end: 42
        line_start: 35
        source_file: /src/rtpproxy/extractaudio/format_au.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/rtpp_scan_adhoc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - decoder_new
  - decoder_get
  - decode_frame
  - generate_silence
  source_file: /src/rtpproxy/extractaudio/decoder.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - session_lookup
  - MYQ_FOREACH
  - channel_insert
  - channel_remove
  - load_session
  - scan_session
  - main
  - MYQ_FOREACH
  source_file: /src/rtpproxy/extractaudio/extractaudio.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOPT_ALICE_CRYPTO
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/extractaudio/extractaudio.c
      type_or_value: '256'
    - item_type: preproc_def
      name: LOPT_BOB_CRYPTO
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/extractaudio/extractaudio.c
      type_or_value: '257'
    structs: []
    typedefs: []
    union: []
- function_names:
  - g279_compat_decode
  - g279_compat_encode
  - g279_compat_encode
  source_file: /src/rtpproxy/extractaudio/g729_compat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_loader_destroy
  - rtpp_load
  - channel_alloc
  - load_adhoc
  - MYQ_FOREACH_REVERSE
  - load_pcap
  - MYQ_FOREACH_REVERSE
  source_file: /src/rtpproxy/extractaudio/rtpp_loader.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCAP_REC_LEN
  source_file: /src/rtpproxy/extractaudio/eaud_pcap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCP_DSCT_OK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/extractaudio/eaud_pcap.h
      type_or_value: (0)
    - item_type: preproc_def
      name: PCP_DSCT_UNKN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/extractaudio/eaud_pcap.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: PCP_DSCT_TRNK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/extractaudio/eaud_pcap.h
      type_or_value: (-2)
    structs:
    - fields:
      - name: pcaprec_hdr
        type: pcaprec_hdr_t
      - name: pcap_hdr_len
        type: int
      - name: l5_len
        type: int
      - name: dport
        type: uint16_t
      - name: sport
        type: uint16_t
      - name: '*udpip'
        type: struct udpip
      - name: '*src'
        type: struct in_addr
      - name: '*dst'
        type: struct in_addr
      - name: '*l5_data'
        type: unsigned char
      item_type: struct
      name: pcap_dissect
      pos:
        line_end: 43
        line_start: 32
        source_file: /src/rtpproxy/extractaudio/eaud_pcap.h
    typedefs: []
    union: []
- function_names:
  - base64_block_to_octet_triple
  - base64_string_to_octet_string
  source_file: /src/rtpproxy/extractaudio/srtp_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_scan_adhoc
  source_file: /src/rtpproxy/extractaudio/rtpp_scan_adhoc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtpp_scan_pcap
  source_file: /src/rtpproxy/extractaudio/rtpp_scan_pcap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - G729_DECODE
  - G729_DECODE
  source_file: /src/rtpproxy/extractaudio/g729_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G729_ECTX
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: bcg729EncoderChannelContextStruct
    - item_type: preproc_def
      name: G729_DCTX
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: bcg729DecoderChannelContextStruct
    - item_type: preproc_def
      name: G729_ECLOSE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: closeBcg729EncoderChannel
    - item_type: preproc_def
      name: G729_DINIT
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: initBcg729DecoderChannel
    - item_type: preproc_def
      name: G729_ECTX
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: G729_CTX
    - item_type: preproc_def
      name: G729_DCTX
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: G729_CTX
    - item_type: preproc_def
      name: G729_ECLOSE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: g729_encoder_destroy
    - item_type: preproc_def
      name: G729_DINIT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: g729_decoder_new
    - item_type: preproc_def
      name: G729_ENCODE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/extractaudio/g729_compat.h
      type_or_value: g279_compat_encode
    structs: []
    typedefs: []
    union: []
- function_names:
  - eaud_ss_find
  - MYQ_FOREACH
  - eaud_ss_syncactive
  - MYQ_FOREACH
  source_file: /src/rtpproxy/extractaudio/eaud_substreams.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/eaud_oformats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: uint32_t
      - name: '*descr'
        type: char
      item_type: struct
      name: supported_fmt
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/rtpproxy/extractaudio/eaud_oformats.h
    typedefs: []
    union: []
- function_names:
  - srtp_crypto_suite_lookup
  - eaud_crypto_getopt_parse
  - eaud_crypto_decrypt
  source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: srtp_crypto_policy_set_rtp_default
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
      type_or_value: crypto_policy_set_rtp_default
    - item_type: preproc_def
      name: srtp_crypto_policy_set_rtcp_default
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
      type_or_value: crypto_policy_set_rtcp_default
    - item_type: preproc_def
      name: srtp_sec_serv_t
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
      type_or_value: sec_serv_t
    - item_type: preproc_def
      name: srtp_err_status_ok
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
      type_or_value: err_status_ok
    - item_type: preproc_def
      name: MAX_KEY_LEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
      type_or_value: '96'
    structs:
    - fields:
      - name: '*can_name'
        type: char
      - name: key_size
        type: int
      - name: tag_size
        type: int
      - name: ckey_len
        type: int
      - name: sec_serv
        type: srtp_sec_serv_t
      item_type: struct
      name: srtp_crypto_suite
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
    - fields:
      - name: '*suite'
        type: struct srtp_crypto_suite
      - name: policy
        type: srtp_policy_t
      - name: srtp_ctx
        type: srtp_t
      - name: key[MAX_KEY_LEN]
        type: char
      item_type: struct
      name: eaud_crypto
      pos:
        line_end: 76
        line_start: 71
        source_file: /src/rtpproxy/extractaudio/eaud_crypto.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/rtpp_scan_pcap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/decoder.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DECODER_EOF
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rtpproxy/extractaudio/decoder.h
      type_or_value: (-(1 << 16))
    - item_type: preproc_def
      name: DECODER_ERROR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/extractaudio/decoder.h
      type_or_value: (-(2 << 16))
    - item_type: preproc_def
      name: DECODER_SKIP
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/rtpproxy/extractaudio/decoder.h
      type_or_value: (-(3 << 16))
    - item_type: preproc_def
      name: D_FLAG_NONE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/extractaudio/decoder.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: D_FLAG_NOSYNC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/extractaudio/decoder.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: D_FLAG_ERRFAIL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/extractaudio/decoder.h
      type_or_value: '0x2'
    structs:
    - fields:
      - name: '*sp'
        type: struct session
      - name: '*pp'
        type: struct packet
      - name: nticks
        type: unsigned int
      - name: sticks
        type: unsigned int
      - name: lpt
        type: unsigned char
      - name: obuf[4 * 1024]
        type: int16_t
      - name: '*obp'
        type: int16_t
      - name: oblen
        type: unsigned int
      - name: stime
        type: double
      - name: dticks
        type: double
      - name: dflags
        type: int
      item_type: struct
      name: decoder_stream
      pos:
        line_end: 76
        line_start: 54
        source_file: /src/rtpproxy/extractaudio/decoder.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/eaud_crypto.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/rtpp_loader.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: pcap_hdr_t_DEFINED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/extractaudio/rtpp_loader.h
      type_or_value: '1'
    structs:
    - fields:
      - name: ifd
        type: int
      - name: sb
        type: struct stat
      - name: '*ibuf'
        type: unsigned char
      - name: scan
        type: rtpp_loader_scan_t
      - name: load
        type: rtpp_loader_load_t
      - name: destroy
        type: rtpp_loader_dtor_t
      - name: private
        type: "union {\n        struct {\n            pcap_hdr_t *pcap_hdr;\n        }
          pcap_data;\n        struct {} adhoc_data;\n    }"
      item_type: struct
      name: rtpp_loader
      pos:
        line_end: 67
        line_start: 53
        source_file: /src/rtpproxy/extractaudio/rtpp_loader.h
    typedefs:
    - item_type: typedef
      name: pcap_hdr_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/rtpproxy/extractaudio/rtpp_loader.h
      type: pcap_hdr_s
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/srtp_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PRINT_STRING_LEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/extractaudio/srtp_util.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: hex_string_to_octet_string
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/extractaudio/srtp_util.h
      type_or_value: _eaud_hex_string_to_octet_string
    - item_type: preproc_def
      name: octet_string_hex_string
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/extractaudio/srtp_util.h
      type_or_value: _eaud_octet_string_hex_string
    - item_type: preproc_def
      name: base64_string_to_octet_string
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/rtpproxy/extractaudio/srtp_util.h
      type_or_value: _eaud_base64_string_to_octet_string
    structs: []
    typedefs: []
    union: []
- function_names:
  - eaud_adhoc_dissect
  source_file: /src/rtpproxy/extractaudio/eaud_adhoc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RPKT
  source_file: /src/rtpproxy/extractaudio/eaud_adhoc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ADH_DSCT_OK
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/extractaudio/eaud_adhoc.h
      type_or_value: (0)
    - item_type: preproc_def
      name: ADH_DSCT_EOF
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/extractaudio/eaud_adhoc.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ADH_DSCT_TRNK
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/extractaudio/eaud_adhoc.h
      type_or_value: (-2)
    structs:
    - fields:
      - name: '*ahp'
        type: struct pkt_hdr_adhoc
      - name: '*pkt'
        type: unsigned char
      - name: '*nextcp'
        type: unsigned char
      item_type: struct
      name: adhoc_dissect
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/rtpproxy/extractaudio/eaud_adhoc.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/extractaudio/eaud_substreams.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pick_format
  - dump_formats_descr
  source_file: /src/rtpproxy/extractaudio/eaud_oformats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucl_object_lua_push_element
  - lua_ucl_userdata_dtor
  - lua_ucl_userdata_emitter
  - ucl_object_lua_push_object
  - ucl_object_lua_push_array
  - LL_FOREACH
  - LL_FOREACH
  - ucl_object_lua_push_scalar
  - ucl_object_push_lua_common
  - ucl_object_push_lua
  - ucl_object_push_lua_filter_nil
  - ucl_object_lua_fromtable
  - DL_FOREACH
  - ucl_object_lua_fromelt
  - ucl_object_lua_import
  - ucl_object_lua_import_escape
  - lua_ucl_to_string
  - lua_ucl_parser_init
  - lua_ucl_parser_get
  - lua_ucl_object_get
  - lua_ucl_push_opaque
  - lua_ucl_str_to_parse_type
  - lua_ucl_parser_parse_file
  - lua_ucl_parser_register_variable
  - lua_ucl_parser_register_variables
  - lua_ucl_parser_parse_string
  - lua_ucl_parser_parse_text
  - lua_ucl_parser_get_object
  - lua_ucl_parser_get_object_wrapped
  - lua_ucl_parser_validate
  - lua_ucl_parser_gc
  - lua_ucl_object_unwrap
  - lua_ucl_str_to_emit_type
  - lua_ucl_object_tostring
  - lua_ucl_object_validate
  - lua_ucl_object_gc
  - lua_ucl_parser_mt
  - lua_ucl_object_mt
  - lua_ucl_types_mt
  - lua_ucl_to_json
  - lua_ucl_to_config
  - lua_ucl_to_format
  - lua_ucl_null_tostring
  - lua_ucl_null_mt
  - luaopen_ucl
  - ucl_object_toclosure
  source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
  types:
    enum:
    - enumerators:
      - name: LUA_UCL_DEFAULT_FLAGS
        value: '0'
      - name: LUA_UCL_CONVERT_NIL
        value: (1u << 1u)
      - name: LUA_UCL_ALLOW_ARRAY
        value: (1u << 0u)
      item_type: enum
      name: lua_ucl_push_flags
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    preproc_defs:
    - item_type: preproc_def
      name: PARSER_META
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.parser.meta"'
    - item_type: preproc_def
      name: EMITTER_META
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.emitter.meta"'
    - item_type: preproc_def
      name: NULL_META
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.null.meta"'
    - item_type: preproc_def
      name: OBJECT_META
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.object.meta"'
    - item_type: preproc_def
      name: UCL_OBJECT_TYPE_META
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.type.object"'
    - item_type: preproc_def
      name: UCL_ARRAY_TYPE_META
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.type.array"'
    - item_type: preproc_def
      name: UCL_IMPL_ARRAY_TYPE_META
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
      type_or_value: '"ucl.type.impl_array"'
    structs:
    - fields:
      - name: '*start'
        type: char
      - name: len
        type: unsigned int
      - name: flags
        type: unsigned int
      item_type: struct
      name: _rspamd_lua_text
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/rtpproxy/external/libucl/lua/lua_ucl.c
    typedefs: []
    union: []
- function_names:
  - utstring_reserve
  - utstring_init
  - utstring_done
  - utstring_free
  - utstring_new
  - utstring_reserve_safe
  - utstring_init_safe
  - utstring_new_safe
  - utstring_renew
  - utstring_clear
  - utstring_bincpy
  - utstring_concat
  - utstring_len
  - utstring_body
  - utstring_printf_va
  - utstring_printf
  - utstring_append_len
  - utstring_append_c
  - _utstring_BuildTable
  - _utstring_BuildTableR
  - _utstring_find
  - _utstring_findR
  - utstring_find
  - utstring_findR
  source_file: /src/rtpproxy/external/libucl/uthash/utstring.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTSTRING_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/external/libucl/uthash/utstring.h
      type_or_value: 1.9.8
    - item_type: preproc_def
      name: _UNUSED_
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/external/libucl/uthash/utstring.h
      type_or_value: '__attribute__ ((__unused__)) '
    - item_type: preproc_def
      name: _UNUSED_
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/rtpproxy/external/libucl/uthash/utstring.h
      type_or_value: '#endif'
    - item_type: preproc_def
      name: oom
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/external/libucl/uthash/utstring.h
      type_or_value: abort
    structs:
    - fields:
      - name: '*d'
        type: char
      - name: '**pd'
        type: void
      - name: n
        type: size_t
      - name: i
        type: size_t
      item_type: struct
      name: UT_string
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/rtpproxy/external/libucl/uthash/utstring.h
    typedefs: []
    union: []
- function_names:
  - DECLTYPE
  - DECLTYPE
  - DECLTYPE_ASSIGN
  - DECLTYPE_ASSIGN
  - uthash_fatal
  - uthash_malloc
  - uthash_free
  - ELMT_FROM_HH
  - HASH_FIND
  - HASH_BLOOM_MAKE
  - HASH_BLOOM_FREE
  - HASH_BLOOM_BITSET
  - HASH_BLOOM_BITTEST
  - HASH_BLOOM_ADD
  - HASH_BLOOM_TEST
  - HASH_BLOOM_TEST
  - HASH_MAKE_TABLE
  - HASH_ADD
  - HASH_REPLACE
  - HASH_ADD_KEYPTR
  - HASH_TO_BKT
  - HASH_DELETE
  - HASH_FIND_STR
  - HASH_ADD_STR
  - HASH_REPLACE_STR
  - HASH_FIND_INT
  - HASH_ADD_INT
  - HASH_REPLACE_INT
  - HASH_FIND_PTR
  - HASH_ADD_PTR
  - HASH_REPLACE_PTR
  - HASH_DEL
  - HASH_OOPS
  - HASH_FSCK
  - HASH_EMIT_KEY
  - HASH_XX
  - HASH_KEYCMP
  - HASH_FIND_IN_BKT
  - HASH_ADD_TO_BKT
  - HASH_DEL_IN_BKT
  - HASH_EXPAND_BUCKETS
  - HASH_SORT
  - HASH_SRT
  - HASH_SELECT
  - HASH_CLEAR
  - HASH_OVERHEAD
  - HASH_ITER
  - HASH_ITER
  - HASH_COUNT
  - HASH_CNT
  source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTHASH_VERSION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: 1.9.8
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: '32      '
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS_LOG2
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: HASH_BKT_CAPACITY_THRESH
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: '10      '
    - item_type: preproc_def
      name: HASH_BLOOM_BITLEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: (1ULL << HASH_BLOOM)
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_FCN
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: HASH_FUNCTION
    - item_type: preproc_def
      name: HASH_FCN
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: HASH_XX
    - item_type: preproc_def
      name: XX_HASH_PRIME
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: 2654435761U
    - item_type: preproc_def
      name: HASH_SIGNATURE
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: '0xa0111fe1'
    - item_type: preproc_def
      name: HASH_BLOOM_SIGNATURE
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type_or_value: '0xb12220f2'
    structs:
    - fields:
      - name: '*hh_head'
        type: struct UT_hash_handle
      - name: count
        type: unsigned
      - name: expand_mult
        type: unsigned
      item_type: struct
      name: UT_hash_bucket
      pos:
        line_end: 669
        line_start: 651
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
    - fields:
      - name: '*buckets'
        type: UT_hash_bucket
      - name: num_buckets
        type: unsigned
      - name: num_items
        type: unsigned
      - name: '*tail'
        type: struct UT_hash_handle
      - name: hho
        type: ptrdiff_t
      - name: ideal_chain_maxlen
        type: unsigned
      - name: nonideal_items
        type: unsigned
      - name: ineff_expands
        type: unsigned
      - name: signature
        type: uint32_t
      item_type: struct
      name: UT_hash_table
      pos:
        line_end: 706
        line_start: 675
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
    - fields:
      - name: '*tbl'
        type: struct UT_hash_table
      - name: '*prev'
        type: void
      - name: '*next'
        type: void
      - name: '*hh_prev'
        type: struct UT_hash_handle
      - name: '*hh_next'
        type: struct UT_hash_handle
      - name: '*key'
        type: void
      - name: keylen
        type: unsigned
      - name: hashv
        type: unsigned
      item_type: struct
      name: UT_hash_handle
      pos:
        line_end: 717
        line_start: 708
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
    typedefs:
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type: unsigned int
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/rtpproxy/external/libucl/uthash/uthash.h
      type: unsigned char
    union: []
- function_names:
  - LDECLTYPE
  - LDECLTYPE
  - LDECLTYPE
  - IF_NO_DECLTYPE
  - LDECLTYPE
  - UTLIST_SV
  - UTLIST_NEXT
  - UTLIST_NEXTASGN
  - UTLIST_PREVASGN
  - UTLIST_RS
  - UTLIST_CASTASGN
  - UTLIST_NEXT
  - UTLIST_NEXTASGN
  - UTLIST_PREVASGN
  - UTLIST_CASTASGN
  - LL_SORT
  - LL_SORT2
  - DL_SORT
  - DL_SORT2
  - CDL_SORT
  - CDL_SORT2
  - LL_PREPEND
  - LL_PREPEND2
  - LL_CONCAT
  - LL_CONCAT2
  - LL_APPEND
  - LL_APPEND2
  - LL_INSERT_INORDER
  - LL_INSERT_INORDER2
  - LL_LOWER_BOUND
  - LL_LOWER_BOUND2
  - LL_DELETE
  - LL_DELETE2
  - LL_COUNT
  - LL_COUNT2
  - LL_FOREACH
  - LL_FOREACH2
  - LL_FOREACH_SAFE
  - LL_FOREACH_SAFE2
  - LL_SEARCH_SCALAR
  - LL_SEARCH_SCALAR2
  - LL_SEARCH
  - LL_SEARCH2
  - LL_REPLACE_ELEM2
  - LL_REPLACE_ELEM
  - LL_PREPEND_ELEM2
  - LL_PREPEND_ELEM
  - LL_APPEND_ELEM2
  - LL_APPEND_ELEM
  - LL_CONCAT2
  - LL_APPEND2
  - LL_INSERT_INORDER2
  - LL_DELETE2
  - LL_REPLACE_ELEM2
  - LL_PREPEND_ELEM2
  - DL_PREPEND
  - DL_PREPEND2
  - DL_APPEND
  - DL_APPEND2
  - DL_INSERT_INORDER
  - DL_INSERT_INORDER2
  - DL_LOWER_BOUND
  - DL_LOWER_BOUND2
  - DL_CONCAT
  - DL_CONCAT2
  - DL_DELETE
  - DL_DELETE2
  - DL_COUNT
  - DL_COUNT2
  - DL_FOREACH
  - DL_FOREACH2
  - DL_FOREACH_SAFE
  - DL_FOREACH_SAFE2
  - DL_REPLACE_ELEM2
  - DL_REPLACE_ELEM
  - DL_PREPEND_ELEM2
  - DL_PREPEND_ELEM
  - DL_APPEND_ELEM2
  - DL_APPEND_ELEM
  - DL_INSERT_INORDER2
  - CDL_APPEND
  - CDL_APPEND2
  - CDL_PREPEND
  - CDL_PREPEND2
  - CDL_INSERT_INORDER
  - CDL_INSERT_INORDER2
  - CDL_LOWER_BOUND
  - CDL_LOWER_BOUND2
  - CDL_DELETE
  - CDL_DELETE2
  - CDL_COUNT
  - CDL_COUNT2
  - CDL_FOREACH
  - CDL_FOREACH2
  - CDL_FOREACH_SAFE
  - CDL_FOREACH_SAFE2
  - CDL_SEARCH_SCALAR
  - CDL_SEARCH_SCALAR2
  - CDL_SEARCH
  - CDL_SEARCH2
  - CDL_REPLACE_ELEM2
  - CDL_REPLACE_ELEM
  - CDL_PREPEND_ELEM2
  - CDL_PREPEND_ELEM
  - CDL_APPEND_ELEM2
  - CDL_APPEND_ELEM
  - CDL_INSERT_INORDER2
  source_file: /src/rtpproxy/external/libucl/uthash/utlist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTLIST_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libucl/uthash/utlist.h
      type_or_value: 2.3.0
    - item_type: preproc_def
      name: DL_SEARCH_SCALAR
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/rtpproxy/external/libucl/uthash/utlist.h
      type_or_value: LL_SEARCH_SCALAR
    - item_type: preproc_def
      name: DL_SEARCH
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/rtpproxy/external/libucl/uthash/utlist.h
      type_or_value: LL_SEARCH
    - item_type: preproc_def
      name: DL_SEARCH_SCALAR2
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/rtpproxy/external/libucl/uthash/utlist.h
      type_or_value: LL_SEARCH_SCALAR2
    - item_type: preproc_def
      name: DL_SEARCH2
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/rtpproxy/external/libucl/uthash/utlist.h
      type_or_value: LL_SEARCH2
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/rtpproxy/external/libucl/tests/test_streamline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/rtpproxy/external/libucl/tests/test_basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_ticks
  - main
  source_file: /src/rtpproxy/external/libucl/tests/test_speed.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcg32_random
  - random_key
  - main
  - ucl_test_integer
  - ucl_test_string
  - ucl_test_boolean
  - ucl_test_map
  - ucl_test_large_map
  - ucl_test_array
  - ucl_test_large_array
  - ucl_test_large_string
  - ucl_test_null
  source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTESTS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
      type_or_value: (sizeof(tests) / sizeof(tests[0]))
    structs:
    - fields:
      - name: state
        type: uint64_t
      - name: inc
        type: uint64_t
      item_type: struct
      name: pcg32_random_t
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
    typedefs:
    - item_type: typedef
      name: '* (*ucl_msgpack_test)(void)'
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/rtpproxy/external/libucl/tests/test_msgpack.c
      type: ucl_object_t
    union: []
- function_names:
  - read_stdin
  - perform_test
  - perform_tests
  - main
  source_file: /src/rtpproxy/external/libucl/tests/test_schema.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ud_dtor
  - ud_emit
  - main
  source_file: /src/rtpproxy/external/libucl/tests/test_generate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_add_string_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '* (*ucl_msgpack_test)(void)'
      pos:
        line_end: 7
        line_start: 7
        source_file: /src/rtpproxy/external/libucl/tests/fuzzers/ucl_msgpack_fuzzer.c
      type: ucl_object_t
    union: []
- function_names:
  - UCL_ARRAY_GET
  - ucl_mmap
  - ucl_munmap
  - ucl_realpath
  - dirname
  - basename
  - ucl_object_dtor_free
  - ucl_object_dtor_unref_single
  - ucl_object_dtor_unref
  - ucl_object_free_internal
  - ucl_object_free
  - ucl_unescape_json_string
  - ucl_unescape_squoted_string
  - ucl_copy_key_trash
  - ucl_chunk_free
  - ucl_copy_value_trash
  - ucl_parser_get_object
  - ucl_parser_free
  - ucl_parser_get_error
  - ucl_parser_get_error_code
  - ucl_parser_get_column
  - ucl_parser_get_linenum
  - ucl_parser_clear_error
  - ucl_pubkey_add
  - ucl_parser_add_special_handler
  - ucl_curl_write_callback
  - ucl_fetch_url
  - ucl_fetch_file
  - ucl_sig_check
  - ucl_include_url
  - ucl_include_file_single
  - ucl_include_file
  - ucl_include_common
  - ucl_include_handler
  - ucl_includes_handler
  - ucl_try_include_handler
  - ucl_priority_handler
  - ucl_load_handler
  - ucl_inherit_handler
  - ucl_parser_set_filevars
  - ucl_parser_add_file_full
  - ucl_parser_add_file_priority
  - ucl_parser_add_file
  - ucl_parser_add_fd_full
  - ucl_parser_add_fd_priority
  - ucl_parser_add_fd
  - ucl_strlcpy
  - ucl_strlcpy_unsafe
  - ucl_strlcpy_tolower
  - ucl_strnstr
  - ucl_strncasestr
  - ucl_object_fromstring_common
  - ucl_object_insert_key_common
  - ucl_object_delete_keyl
  - ucl_object_delete_key
  - ucl_object_pop_keyl
  - ucl_object_pop_key
  - ucl_object_insert_key
  - ucl_object_insert_key_merged
  - ucl_object_replace_key
  - ucl_object_merge
  - ucl_object_lookup_len
  - ucl_object_lookup
  - ucl_object_lookup_any
  - ucl_object_iterate_with_error
  - UCL_SAFE_ITER
  - UCL_SAFE_ITER_CHECK
  - ucl_object_iterate_new
  - ucl_object_iter_chk_excpn
  - ucl_object_iterate_reset
  - ucl_object_iterate_safe
  - ucl_object_iterate_full
  - ucl_object_iterate_free
  - ucl_object_lookup_path
  - ucl_object_lookup_path_char
  - ucl_object_new
  - ucl_object_typed_new
  - ucl_object_new_full
  - ucl_object_reserve
  - ucl_object_new_userdata
  - ucl_object_type
  - ucl_object_fromstring
  - ucl_object_fromlstring
  - ucl_object_fromint
  - ucl_object_fromdouble
  - ucl_object_frombool
  - ucl_array_append
  - ucl_array_prepend
  - ucl_array_merge
  - ucl_array_delete
  - ucl_array_head
  - ucl_array_tail
  - ucl_array_pop_last
  - kv_del
  - ucl_array_find_index
  - ucl_array_index_of
  - ucl_array_replace_index
  - ucl_elt_append
  - ucl_object_todouble_safe
  - ucl_object_todouble
  - ucl_object_toint_safe
  - ucl_object_toint
  - ucl_object_toboolean_safe
  - ucl_object_toboolean
  - ucl_object_tostring_safe
  - ucl_object_tostring
  - ucl_object_tostring_forced
  - ucl_object_tolstring_safe
  - ucl_object_tolstring
  - ucl_object_key
  - ucl_object_keyl
  - ucl_object_ref
  - ucl_object_copy_internal
  - ucl_object_copy
  - ucl_object_compare
  - ucl_object_compare_qsort
  - ucl_object_array_sort
  - ucl_object_sort_keys
  - ucl_object_get_priority
  - ucl_object_set_priority
  - ucl_object_string_to_type
  - ucl_object_type_to_string
  - ucl_parser_get_comments
  - ucl_comments_find
  - ucl_comments_move
  - ucl_comments_add
  - ucl_parser_set_include_tracer
  - ucl_parser_get_cur_file
  source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
  types:
    enum:
    - enumerators:
      - name: UCL_ITERATE_FLAG_UNDEFINED
        value: '0'
      - name: UCL_ITERATE_FLAG_INSIDE_ARRAY
      - name: UCL_ITERATE_FLAG_IMPLICIT
      - name: UCL_ITERATE_FLAG_INSIDE_OBJECT
      - name: UCL_ITERATE_FLAG_EXCEPTION
      item_type: enum
      name: ucl_safe_iter_flags
      pos:
        line_end: 2792
        line_start: 2786
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
    preproc_defs:
    - item_type: preproc_def
      name: NBBY
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '8'
    - item_type: preproc_def
      name: CURL_DISABLE_TYPECHECK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PROT_READ
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PROT_WRITE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PROT_READWRITE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MAP_SHARED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAP_PRIVATE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MAP_FAILED
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: ((void *) -1)
    - item_type: preproc_def
      name: getcwd
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: _getcwd
    - item_type: preproc_def
      name: open
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: _open
    - item_type: preproc_def
      name: close
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: _close
    - item_type: preproc_def
      name: ucl_mmap
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: mmap
    - item_type: preproc_def
      name: ucl_munmap
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: munmap
    - item_type: preproc_def
      name: ucl_realpath
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: realpath
    - item_type: preproc_def
      name: PRIOBITS
      pos:
        line_end: 3802
        line_start: 3801
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*buf'
        type: unsigned char
      - name: buflen
        type: size_t
      item_type: struct
      name: ucl_curl_cbdata
      pos:
        line_end: 759
        line_start: 756
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
    - fields:
      - name: check_signature
        type: bool
      - name: must_exist
        type: bool
      - name: use_glob
        type: bool
      - name: use_prefix
        type: bool
      - name: soft_fail
        type: bool
      - name: allow_glob
        type: bool
      - name: priority
        type: unsigned
      - name: strat
        type: enum ucl_duplicate_strategy
      - name: parse_type
        type: enum ucl_parse_type
      - name: '*prefix'
        type: char
      - name: '*target'
        type: char
      item_type: struct
      name: ucl_include_params
      pos:
        line_end: 998
        line_start: 986
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
    - fields:
      - name: magic[4]
        type: char
      - name: flags
        type: uint32_t
      - name: '*impl_it'
        type: ucl_object_t
      - name: expl_it
        type: ucl_object_iter_t
      item_type: struct
      name: ucl_object_safe_iter
      pos:
        line_end: 2800
        line_start: 2795
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
    typedefs:
    - item_type: typedef
      name: (ucl_object_t *)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type: kvec_t
    - item_type: typedef
      name: (*ucl_object_dtor) (ucl_object_t *obj)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/rtpproxy/external/libucl/src/ucl_util.c
      type: void
    union: []
- function_names:
  - ucl_chunk_skipc
  - ucl_set_err
  - ucl_save_comment
  - ucl_attach_comment
  - ucl_skip_comments
  - ucl_lex_num_multiplier
  - ucl_lex_time_multiplier
  - ucl_lex_is_atom_end
  - ucl_lex_is_comment
  - ucl_check_variable_safe
  - ucl_check_variable
  - ucl_expand_single_variable
  - ucl_expand_variable
  - ucl_copy_or_store_ptr
  - ucl_parser_add_container
  - ucl_maybe_parse_number
  - ucl_lex_number
  - ucl_lex_json_string
  - ucl_lex_squoted_string
  - ucl_parser_append_elt
  - ucl_parser_process_object_element
  - ucl_parse_key
  - ucl_parse_string_value
  - ucl_parse_multiline_string
  - ucl_parser_get_container
  - ucl_parse_value
  - ucl_parse_after_value
  - ucl_skip_macro_as_comment
  - ucl_parse_macro_value
  - ucl_parse_macro_arguments
  - SKIP_SPACES_COMMENTS
  - ucl_state_machine
  - UPRM_SAFE
  - ucl_parser_new
  - ucl_parser_set_default_priority
  - ucl_parser_get_default_priority
  - ucl_parser_register_macro
  - ucl_parser_register_context_macro
  - ucl_parser_register_variable
  - ucl_parser_set_variables_handler
  - ucl_parser_add_chunk_full
  - ucl_parser_add_chunk_priority
  - ucl_parser_add_chunk
  - ucl_parser_insert_chunk
  - ucl_parser_add_string_priority
  - ucl_parser_add_string
  - ucl_set_include_path
  - ucl_parser_chunk_peek
  - ucl_parser_chunk_skip
  - ucl_parser_get_current_stack_object
  source_file: /src/rtpproxy/external/libucl/src/ucl_parser.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: line
        type: unsigned int
      - name: column
        type: unsigned int
      - name: remain
        type: size_t
      - name: '*pos'
        type: unsigned char
      item_type: struct
      name: ucl_parser_saved_state
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/rtpproxy/external/libucl/src/ucl_parser.c
    - fields:
      - name: c
        type: char
      - name: mult_normal
        type: long
      - name: mult_bytes
        type: long
      item_type: struct
      name: "multipliers[] = {\n\t\t\t{'m', 1000 * 1000, 1024 * 1024},\n\t\t\t{'k',
        1000, 1024},\n\t\t\t{'g', 1000 * 1000 * 1000, 1024 * 1024 * 1024}\n\t}"
      pos:
        line_end: 233
        line_start: 229
        source_file: /src/rtpproxy/external/libucl/src/ucl_parser.c
    - fields:
      - name: c
        type: char
      - name: mult
        type: double
      item_type: struct
      name: "multipliers[] = {\n\t\t\t{'m', 60},\n\t\t\t{'h', 60 * 60},\n\t\t\t{'d',
        60 * 60 * 24},\n\t\t\t{'w', 60 * 60 * 24 * 7},\n\t\t\t{'y', 60 * 60 * 24 *
        365}\n\t}"
      pos:
        line_end: 263
        line_start: 260
        source_file: /src/rtpproxy/external/libucl/src/ucl_parser.c
    typedefs: []
    union: []
- function_names:
  - ucl_schema_create_error
  - ucl_schema_test_pattern
  - ucl_schema_validate_dependencies
  - ucl_schema_validate_object
  - ucl_schema_validate_number
  - ucl_schema_validate_string
  - ucl_schema_elt_compare
  - ucl_schema_array_is_unique
  - LL_FOREACH_SAFE
  - ucl_schema_validate_array
  - ucl_schema_type_is_allowed
  - ucl_schema_validate_enum
  - ucl_schema_resolve_ref_component
  - ucl_schema_resolve_ref
  - ucl_schema_validate_values
  - ucl_schema_validate
  - LL_FOREACH
  - ucl_object_validate
  - ucl_object_validate_root
  - ucl_object_validate_root_ext
  source_file: /src/rtpproxy/external/libucl/src/ucl_schema.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*obj'
        type: ucl_object_t
      - name: (ucl_compare_node)
        type: TREE_ENTRY
      - name: '*next'
        type: struct ucl_compare_node
      item_type: struct
      name: ucl_compare_node
      pos:
        line_end: 432
        line_start: 428
        source_file: /src/rtpproxy/external/libucl/src/ucl_schema.c
    typedefs:
    - item_type: typedef
      name: (_tree, ucl_compare_node)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/rtpproxy/external/libucl/src/ucl_schema.c
      type: TREE_HEAD
    union: []
- function_names:
  - UCL_EMIT_TYPE_OPS
  - UCL_EMIT_TYPE_CONTENT
  - UCL_EMIT_IDENT_TOP_OBJ
  - ucl_add_tabs
  - ucl_emitter_print_key
  - ucl_emitter_finish_object
  - ucl_emitter_common_end_object
  - ucl_emitter_common_end_array
  - ucl_emitter_common_start_array
  - ucl_emitter_common_start_object
  - LL_FOREACH
  - ucl_emitter_common_elt
  - DL_FOREACH
  - DL_FOREACH
  - UCL_EMIT_TYPE_IMPL
  - ucl_emit_msgpack_elt
  - LL_FOREACH
  - ucl_emit_msgpack_start_obj
  - ucl_emit_msgpack_start_array
  - ucl_emit_msgpack_end_object
  - ucl_emit_msgpack_end_array
  - ucl_object_emit
  - ucl_object_emit_len
  - ucl_object_emit_full
  source_file: /src/rtpproxy/external/libucl/src/ucl_emitter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SWAP_LE_BE16
  - SWAP_LE_BE32
  - SWAP_LE_BE64
  - SWAP_LE_BE32
  - SWAP_LE_BE64
  - TO_BE16
  - TO_BE32
  - TO_BE64
  - FROM_BE16
  - FROM_BE32
  - FROM_BE64
  - ucl_emitter_print_int_msgpack
  - ucl_emitter_print_double_msgpack
  - ucl_emitter_print_bool_msgpack
  - ucl_emitter_print_string_msgpack
  - ucl_emitter_print_binary_string_msgpack
  - ucl_emitter_print_null_msgpack
  - ucl_emitter_print_key_msgpack
  - ucl_emitter_print_array_msgpack
  - ucl_emitter_print_object_msgpack
  - ucl_msgpack_get_parser_from_type
  - ucl_msgpack_get_container
  - ucl_msgpack_is_container_finished
  - ucl_msgpack_insert_object
  - ucl_msgpack_get_next_container
  - ucl_msgpack_consume
  - ucl_parse_msgpack
  - ucl_msgpack_parse_map
  - ucl_msgpack_parse_array
  - ucl_msgpack_parse_string
  - ucl_msgpack_parse_int
  - ucl_msgpack_parse_float
  - ucl_msgpack_parse_bool
  - ucl_msgpack_parse_null
  - ucl_msgpack_parse_ignore
  source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
  types:
    enum:
    - enumerators:
      - name: msgpack_positive_fixint
        value: '0'
      - name: msgpack_fixstr
      - name: msgpack_bin8
      - name: msgpack_uint8
      - name: msgpack_ext16
      - name: msgpack_int8
      - name: msgpack_fixext1
      - name: msgpack_fixext16
      - name: msgpack_array16
      - name: msgpack_negative_fixint
      - name: msgpack_nil
      - name: msgpack_bin16
      - name: msgpack_ext32
      - name: msgpack_uint16
      - name: msgpack_int16
      - name: msgpack_fixext2
      - name: msgpack_str8
      - name: msgpack_array32
      - name: msgpack_fixmap
      - name: msgpack_false
      - name: msgpack_bin32
      - name: msgpack_float32
      - name: msgpack_uint32
      - name: msgpack_int32
      - name: msgpack_fixext4
      - name: msgpack_str16
      - name: msgpack_map16
      - name: msgpack_invalid
      - name: msgpack_fixarray
      - name: msgpack_true
      - name: msgpack_ext8
      - name: msgpack_float64
      - name: msgpack_uint64
      - name: msgpack_int64
      - name: msgpack_fixext8
      - name: msgpack_str32
      - name: msgpack_map32
      item_type: enum
      name: ucl_msgpack_format
      pos:
        line_end: 399
        line_start: 361
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - enumerators:
      - name: read_type
      - name: read_assoc_value
      - name: read_assoc_key
      - name: start_array
      - name: start_assoc
      - name: finish_assoc_value
      - name: read_array_value
      - name: finish_array_value
      - name: error_state
      item_type: enum
      name: e_msgpack_parser_state
      pos:
        line_end: 961
        line_start: 951
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    preproc_defs:
    - item_type: preproc_def
      name: TO_BE16
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: SWAP_LE_BE16
    - item_type: preproc_def
      name: TO_BE32
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: SWAP_LE_BE32
    - item_type: preproc_def
      name: TO_BE64
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: SWAP_LE_BE64
    - item_type: preproc_def
      name: FROM_BE16
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: SWAP_LE_BE16
    - item_type: preproc_def
      name: FROM_BE32
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: SWAP_LE_BE32
    - item_type: preproc_def
      name: FROM_BE64
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: SWAP_LE_BE64
    - item_type: preproc_def
      name: MSGPACK_FLAG_FIXED
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: MSGPACK_FLAG_CONTAINER
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: MSGPACK_FLAG_TYPEVALUE
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: MSGPACK_FLAG_EXT
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: MSGPACK_FLAG_ASSOC
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: MSGPACK_FLAG_KEY
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: CONSUME_RET
      pos:
        line_end: 934
        line_start: 919
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: "do {\t\t\t\t\t\t\t\t\t\\\n\tif (ret != -1) {\t\t\t\t\t\t\t\t\t\t\\\n\t\tp
        += ret;\t\t\t\t\t\t\t\t\t\t\t\\\n\t\tremain -= ret;\t\t\t\t\t\t\t\t\t\t\\\n\t\tobj_parser
        = NULL;\t\t\t\t\t\t\t\t\t\\\n\t\tassert (remain >= 0);\t\t\t\t\t\t\t\t\\\n\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\\\n\telse
        {\t\t\t\t\t\t\t\t\t\t\t\t\t\\\n\t\tucl_create_err (&parser->err,\t\t\t\t\t\t\\\n\t\t\t\"cannot
        parse type %d of len %u\",\t\t\t\t\\\n\t\t\t(int)obj_parser->fmt,\t\t\t\t\t\t\t\\\n\t\t\t(unsigned)len);\t\t\t\t\t\t\t\t\t\\\n\t\treturn
        false;\t\t\t\t\t\t\t\t\t\t\\\n\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\\\n} while(0)"
    - item_type: preproc_def
      name: GET_NEXT_STATE
      pos:
        line_end: 945
        line_start: 935
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type_or_value: "do {\t\t\t\t\t\t\t\t\t\\\n\tcontainer = ucl_msgpack_get_next_container
        (parser);\t\\\n\tif (container == NULL) {\t\t\t\t\t\t\t\t\\\n\t\tucl_create_err
        (&parser->err,\t\t\t\t\t\t\\\n\t\t\t\t\t\"empty container\");\t\t\t\t\t\t\\\n\t\treturn
        false;\t\t\t\t\t\t\t\t\t\t\\\n\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\\\n\tnext_state
        = container->obj->type == UCL_OBJECT ? \t\t\\\n\t\t\t\t\tread_assoc_key :
        read_array_value;\t\t\\\n} while(0)"
    structs:
    - fields:
      - name: prefix
        type: uint8_t
      - name: prefixlen
        type: uint8_t
      - name: fmt
        type: uint8_t
      - name: len
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: func
        type: ucl_msgpack_parse_function
      item_type: struct
      name: ucl_msgpack_parser
      pos:
        line_end: 450
        line_start: 440
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    typedefs:
    - item_type: typedef
      name: "(*ucl_msgpack_parse_function)(struct ucl_parser *parser,\n\t\tstruct
        ucl_stack *container, size_t len, enum ucl_msgpack_format fmt,\n\t\tconst
        unsigned char *pos, size_t remain)"
      pos:
        line_end: 403
        line_start: 401
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
      type: ssize_t
    union:
    - fields:
      - name: d
        type: double
      - name: i
        type: uint64_t
      item_type: union
      name: u
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
    - fields:
      - name: i
        type: uint32_t
      - name: f
        type: float
      item_type: union
      name: d
      pos:
        line_end: 1521
        line_start: 1518
        source_file: /src/rtpproxy/external/libucl/src/ucl_msgpack.c
- function_names:
  - ucl_hash_iterate
  source_file: /src/rtpproxy/external/libucl/src/ucl_hash.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ucl_hash_node_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.h
      type: ucl_hash_node_s
    - item_type: typedef
      name: (*ucl_hash_cmp_func) (const void* void_a, const void* void_b)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.h
      type: int
    - item_type: typedef
      name: (*ucl_hash_free_func) (void *ptr)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.h
      type: void
    - item_type: typedef
      name: '* ucl_hash_iter_t'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.h
      type: void
    - item_type: typedef
      name: ucl_hash_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.h
      type: ucl_hash_struct
    union: []
- function_names:
  - _ucl_emitter_free
  - ucl_emit_get_standard_context
  - ucl_elt_string_write_json
  - ucl_elt_string_write_squoted
  - ucl_elt_string_write_multiline
  - ucl_utstring_append_character
  - ucl_utstring_append_len
  - ucl_utstring_append_int
  - ucl_utstring_append_double
  - ucl_file_append_character
  - ucl_file_append_len
  - ucl_file_append_int
  - ucl_file_append_double
  - ucl_fd_append_character
  - ucl_fd_append_len
  - ucl_fd_append_int
  - ucl_fd_append_double
  - ucl_object_emit_memory_funcs
  - ucl_object_emit_file_funcs
  - ucl_object_emit_fd_funcs
  - ucl_object_emit_funcs_free
  - ucl_object_emit_single_json
  - ucl_maybe_long_string
  source_file: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LONG_STRING_LIMIT
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/rtpproxy/external/libucl/src/ucl_emitter_utils.c
      type_or_value: '80'
    structs: []
    typedefs: []
    union: []
- function_names:
  - TO_STREAMLINE
  - ucl_object_emit_streamline_new
  - ucl_object_emit_streamline_start_container
  - ucl_object_emit_streamline_add_object
  - ucl_object_emit_streamline_end_container
  - ucl_object_emit_streamline_finish
  source_file: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: is_array
        type: bool
      - name: empty
        type: bool
      - name: '*obj'
        type: ucl_object_t
      - name: '*next'
        type: struct ucl_emitter_streamline_stack
      item_type: struct
      name: ucl_emitter_streamline_stack
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: int
      - name: '*func'
        type: struct ucl_emitter_functions
      - name: '*ops'
        type: struct ucl_emitter_operations
      - name: indent
        type: unsigned int
      - name: '*top'
        type: ucl_object_t
      - name: '*comments'
        type: ucl_object_t
      - name: '*containers'
        type: struct ucl_emitter_streamline_stack
      item_type: struct
      name: ucl_emitter_context_streamline
      pos:
        line_end: 57
        line_start: 38
        source_file: /src/rtpproxy/external/libucl/src/ucl_emitter_streamline.c
    typedefs: []
    union: []
- function_names:
  - _MUM_OPTIMIZE
  - _MUM_TARGET
  - _mum
  - _mum_bswap_32
  - _mum_bswap_64
  - _mum_bswap_32
  - _mum_bswap_64
  - _mum_bswap32
  - _mum_bswap64
  - _mum_bswap32
  - _mum_bswap64
  - _mum_le
  - _mum_le32
  - _mum_hash_aligned
  - _mum_final
  - _mum_hash_avx2
  - _mum_hash_default
  - _mum_next_factor
  - mum_hash_randomize
  - mum_hash_init
  - mum_hash_step
  - mum_hash_finish
  - mum_hash64
  - mum_hash
  source_file: /src/rtpproxy/external/libucl/src/mum.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MUM_USE_INT128
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _MUM_USE_INT128
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '0'
    - item_type: preproc_def
      name: _MUM_ATTRIBUTE_UNUSED
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: _MUM_UNROLL_FACTOR_POWER
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '3'
    - item_type: preproc_def
      name: _MUM_UNROLL_FACTOR_POWER
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '4'
    - item_type: preproc_def
      name: _MUM_UNROLL_FACTOR_POWER
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '2'
    - item_type: preproc_def
      name: _MUM_UNROLL_FACTOR
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: (1 << _MUM_UNROLL_FACTOR_POWER)
    - item_type: preproc_def
      name: _MUM_UNALIGNED_ACCESS
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _MUM_UNALIGNED_ACCESS
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '0'
    - item_type: preproc_def
      name: _MUM_BLOCK_LEN
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type_or_value: '1024'
    structs: []
    typedefs:
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type: unsigned __int16
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type: unsigned __int32
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/rtpproxy/external/libucl/src/mum.h
      type: unsigned __int64
    union: []
- function_names:
  - ucl_hash_seed
  - ucl_hash_func
  - ucl_hash_equal
  - ucl_hash_caseless_func
  - ucl_hash_caseless_equal
  - ucl_hash_create
  - ucl_hash_destroy
  - ucl_hash_insert
  - ucl_hash_replace
  - UHI_SETERR
  - ucl_hash_iterate2
  - ucl_hash_iter_has_next
  - ucl_hash_search
  - ucl_hash_delete
  - ucl_hash_reserve
  - ucl_lc_cmp
  - ucl_hash_cmp_icase
  - ucl_hash_cmp_case_sens
  - ucl_hash_sort
  source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UCL64_BIT_HASH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*obj'
        type: ucl_object_t
      - name: '*prev'
        type: struct ucl_hash_elt
      item_type: struct
      name: ucl_hash_elt
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
    - fields:
      - name: '*hash'
        type: void
      - name: '*head'
        type: struct ucl_hash_elt
      - name: caseless
        type: bool
      item_type: struct
      name: ucl_hash_struct
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
    - fields:
      - name: '*cur'
        type: struct ucl_hash_elt
      item_type: struct
      name: ucl_hash_real_iter
      pos:
        line_end: 393
        line_start: 391
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
    typedefs: []
    union:
    - fields:
      - name: c
        type: "struct {\n\t\t\tunsigned char c1, c2, c3, c4, c5, c6, c7, c8;\n\t\t}"
      - name: pp
        type: uint64_t
      item_type: union
      name: u
      pos:
        line_end: 131
        line_start: 126
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
    - fields:
      - name: c[4]
        type: unsigned char
      - name: n
        type: uint32_t
      item_type: union
      name: cmp1
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
    - fields:
      - name: c[4]
        type: unsigned char
      - name: n
        type: uint32_t
      item_type: union
      name: cmp1
      pos:
        line_end: 546
        line_start: 543
        source_file: /src/rtpproxy/external/libucl/src/ucl_hash.c
- function_names:
  - S_ISREG
  - S_ISDIR
  - __DECONST
  - ucl_create_err
  - ucl_maybe_parse_boolean
  - ucl_hash_search_obj
  - ucl_hash_insert_object
  source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
  types:
    enum:
    - enumerators:
      - name: UCL_STATE_INIT
        value: '0'
      - name: UCL_STATE_KEY
      - name: UCL_STATE_KEY_OBRACE
      - name: UCL_STATE_OBJECT
      - name: UCL_STATE_ARRAY
      - name: UCL_STATE_VALUE
      - name: UCL_STATE_AFTER_VALUE
      - name: UCL_STATE_ARRAY_VALUE
      - name: UCL_STATE_SCOMMENT
      - name: UCL_STATE_MCOMMENT
      - name: UCL_STATE_MACRO
      - name: UCL_STATE_ERROR
      - name: UCL_STATE_MACRO_NAME
      item_type: enum
      name: ucl_parser_state
      pos:
        line_end: 160
        line_start: 146
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - enumerators:
      - name: UCL_CHARACTER_DENIED
        value: (1 << 0)
      - name: UCL_CHARACTER_KEY
        value: (1 << 1)
      - name: UCL_CHARACTER_WHITESPACE_UNSAFE
        value: (1 << 4)
      - name: UCL_CHARACTER_WHITESPACE
        value: (1 << 3)
      - name: UCL_CHARACTER_KEY_START
        value: (1 << 2)
      - name: UCL_CHARACTER_VALUE_END
        value: (1 << 5)
      - name: UCL_CHARACTER_VALUE_STR
        value: (1 << 6)
      - name: UCL_CHARACTER_VALUE_DIGIT
        value: (1 << 7)
      - name: UCL_CHARACTER_VALUE_DIGIT_START
        value: (1 << 8)
      - name: UCL_CHARACTER_ESCAPE
        value: (1 << 9)
      - name: UCL_CHARACTER_JSON_UNSAFE
        value: (1 << 11)
      - name: UCL_CHARACTER_UCL_UNSAFE
        value: (1 << 12)
      - name: UCL_CHARACTER_KEY_SEP
        value: (1 << 10)
      item_type: enum
      name: ucl_character_type
      pos:
        line_end: 176
        line_start: 162
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - enumerators:
      - name: UCL_STACK_HAS_OBRACE
        value: (1u << 0)
      - name: UCL_STACK_MAX
        value: (1u << 1)
      item_type: enum
      name: ucl_stack_flags
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    preproc_defs:
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: _strdup
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: vsnprintf
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: _vsnprintf
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: _stricmp
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: _strnicmp
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: _MAX_PATH
    - item_type: preproc_def
      name: UCL_MAX_RECURSION
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: UCL_TRASH_KEY
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: '0'
    - item_type: preproc_def
      name: UCL_TRASH_VALUE
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: h
        type: "union _ucl_macro {\n\t\tucl_macro_handler handler;\n\t\tucl_context_macro_handler
          context_handler;\n\t}"
      - name: '* ud'
        type: void
      - name: is_context
        type: bool
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: ucl_macro
      pos:
        line_end: 187
        line_start: 178
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: '*obj'
        type: ucl_object_t
      - name: '*next'
        type: struct ucl_stack
      - name: e
        type: "union {\n\t\tstruct {\n\t\t\tuint16_t level;\n\t\t\tuint16_t flags;\n\t\t\tuint32_t
          line;\n\t\t} params;\n\t\tuint64_t len;\n\t}"
      - name: '*chunk'
        type: struct ucl_chunk
      item_type: struct
      name: ucl_stack
      pos:
        line_end: 206
        line_start: 194
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: '*begin'
        type: unsigned char
      - name: len
        type: size_t
      - name: '*special_handler'
        type: struct ucl_parser_special_handler
      - name: '*next'
        type: struct ucl_parser_special_handler_chain
      item_type: struct
      name: ucl_parser_special_handler_chain
      pos:
        line_end: 213
        line_start: 208
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: '*begin'
        type: unsigned char
      - name: '*end'
        type: unsigned char
      - name: '*pos'
        type: unsigned char
      - name: '*fname'
        type: char
      - name: remain
        type: size_t
      - name: line
        type: unsigned int
      - name: column
        type: unsigned int
      - name: priority
        type: unsigned
      - name: strategy
        type: enum ucl_duplicate_strategy
      - name: parse_type
        type: enum ucl_parse_type
      - name: '*special_handlers'
        type: struct ucl_parser_special_handler_chain
      - name: '*next'
        type: struct ucl_chunk
      item_type: struct
      name: ucl_chunk
      pos:
        line_end: 228
        line_start: 215
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: '*key'
        type: EVP_PKEY
      - name: '*next'
        type: struct ucl_pubkey
      item_type: struct
      name: ucl_pubkey
      pos:
        line_end: 234
        line_start: 231
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: '*next'
        type: struct ucl_pubkey
      item_type: struct
      name: ucl_pubkey
      pos:
        line_end: 238
        line_start: 236
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: '*var'
        type: char
      - name: '*value'
        type: char
      - name: var_len
        type: size_t
      - name: value_len
        type: size_t
      - name: '*prev'
        type: struct ucl_variable
      item_type: struct
      name: ucl_variable
      pos:
        line_end: 247
        line_start: 241
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: state
        type: enum ucl_parser_state
      - name: prev_state
        type: enum ucl_parser_state
      - name: recursion
        type: unsigned int
      - name: flags
        type: int
      - name: default_priority
        type: unsigned
      - name: err_code
        type: int
      - name: '*top_obj'
        type: ucl_object_t
      - name: '*cur_obj'
        type: ucl_object_t
      - name: '*trash_objs'
        type: ucl_object_t
      - name: '*includepaths'
        type: ucl_object_t
      - name: '*cur_file'
        type: char
      - name: '*macroes'
        type: struct ucl_macro
      - name: '*stack'
        type: struct ucl_stack
      - name: '*chunks'
        type: struct ucl_chunk
      - name: '*keys'
        type: struct ucl_pubkey
      - name: '*special_handlers'
        type: struct ucl_parser_special_handler
      - name: '*include_trace_func'
        type: ucl_include_trace_func_t
      - name: '*include_trace_ud'
        type: void
      - name: '*variables'
        type: struct ucl_variable
      - name: var_handler
        type: ucl_variable_handler
      - name: '*var_data'
        type: void
      - name: '*comments'
        type: ucl_object_t
      - name: '*last_comment'
        type: ucl_object_t
      - name: '*err'
        type: UT_string
      - name: '*_err_buf'
        type: UT_string
      item_type: struct
      name: ucl_parser
      pos:
        line_end: 275
        line_start: 249
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    - fields:
      - name: obj
        type: ucl_object_t
      - name: dtor
        type: ucl_userdata_dtor
      - name: emitter
        type: ucl_userdata_emitter
      item_type: struct
      name: ucl_object_userdata
      pos:
        line_end: 281
        line_start: 277
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
      type: SSIZE_T
    union:
    - fields:
      - name: handler
        type: ucl_macro_handler
      - name: context_handler
        type: ucl_context_macro_handler
      item_type: union
      name: _ucl_macro
      pos:
        line_end: 183
        line_start: 180
        source_file: /src/rtpproxy/external/libucl/src/ucl_internal.h
- function_names:
  - ucl_test_character
  source_file: /src/rtpproxy/external/libucl/src/ucl_chartable.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _HU_FUNCTION
  - _HU_FUNCTION
  - TREE_ENTRY
  - TREE_HEAD
  - TREE_INITIALIZER
  - TREE_DELTA
  - TREE_DEFINE
  - TREE_INSERT
  - TREE_FIND
  - TREE_REMOVE
  - TREE_DEPTH
  - TREE_FORWARD_APPLY
  - TREE_REVERSE_APPLY
  - TREE_INIT
  source_file: /src/rtpproxy/external/libucl/src/tree.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TREE_DELTA_MAX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/external/libucl/src/tree.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucl_parse_csexp
  source_file: /src/rtpproxy/external/libucl/src/ucl_sexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NEXT_STATE
      pos:
        line_end: 57
        line_start: 33
        source_file: /src/rtpproxy/external/libucl/src/ucl_sexp.c
      type_or_value: "do {            \\\nif (p >= end) {                    \\\n
        \   if (state != read_ebrace) {    \\\n      ucl_create_err (&parser->err,\\\n
        \                    \"extra data\");\\\n      state = parse_err;           \\\n
        \   }                              \\\n}                                  \\\nelse
        {                             \\\nswitch (*p) {                      \\\n
        \   case '(':                      \\\n        state = read_obrace;       \\\n
        \       break;                     \\\n    case ')':                      \\\n
        \       state = read_ebrace;       \\\n        break;                     \\\n
        \   default:                       \\\n        len = 0;                   \\\n
        \       mult = 1;                  \\\n        state = read_length;       \\\n
        \       break;                     \\\n    }                              \\\n}
        \                                 \\\n} while(0)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - _basic_ucl_type
  - _iterate_valid_ucl
  - _internal_load_ucl
  - ucl_load
  - _iterate_python
  - if
  - if
  - if
  - if
  - if
  - if
  - if
  - if
  - ucl_dump
  - ucl_validate
  - init_macros
  - PyInit_ucl
  - initucl
  source_file: /src/rtpproxy/external/libucl/python/src/uclmodule.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator() (ucl_object_t *obj)
  - ucl::Ucl::append_char
  - ucl::Ucl::append_len
  - ucl::Ucl::append_int
  - ucl::Ucl::append_double
  - ucl::Ucl::default_emit_funcs
  - ucl::Ucl::ucl_variable_getter
  - ucl::Ucl::ucl_variable_replacer
  - ucl::Ucl::parse_with_strategy_function
  - operator() (ucl_object_iter_t it)
  - ucl::Ucl::const_iterator::const_iterator
  - ucl::Ucl::const_iterator::const_iterator
  - ucl::Ucl::const_iterator::const_iterator
  - ucl::Ucl::const_iterator::const_iterator
  - ~const_iterator()
  - '& operator=(const const_iterator &other)'
  - '& operator=(const_iterator &&other)'
  - operator==(const const_iterator &other) const
  - operator!=(const const_iterator &other) const
  - '& operator++()'
  - '& operator*() const'
  - '* operator->() const'
  - ~variable_replacer()
  - ucl::Ucl::is_variable
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::type
  - ucl::Ucl::key
  - ucl::Ucl::number_value
  - ucl::Ucl::int_value
  - ucl::Ucl::bool_value
  - ucl::Ucl::string_value
  - ucl::Ucl::size
  - ucl::Ucl::at
  - ucl::Ucl::lookup
  - operator[] (size_t i) const
  - operator[](const std::string &key) const
  - ucl::Ucl::dump
  - ucl::Ucl::dump
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse_from_file
  - ucl::Ucl::parse_from_file
  - ucl::Ucl::parse_from_file
  - ucl::Ucl::find_variable
  - ucl::Ucl::find_variable
  - ucl::Ucl::find_variable_from_file
  - '& operator= (Ucl rhs)'
  - operator== (const Ucl &rhs) const
  - operator< (const Ucl &rhs) const
  - operator!= (const Ucl &rhs) const
  - operator<= (const Ucl &rhs) const
  - operator> (const Ucl &rhs) const
  - operator>= (const Ucl &rhs) const
  - operator bool () const
  - ucl::Ucl::begin
  - ucl::Ucl::cbegin
  - ucl::Ucl::end
  - ucl::Ucl::cend
  - operator() (ucl_object_t *obj)
  - ucl::Ucl::append_char
  - ucl::Ucl::append_len
  - ucl::Ucl::append_int
  - ucl::Ucl::append_double
  - ucl::Ucl::default_emit_funcs
  - ucl::Ucl::ucl_variable_getter
  - ucl::Ucl::ucl_variable_replacer
  - ucl::Ucl::parse_with_strategy_function
  - operator() (ucl_object_iter_t it)
  - ucl::Ucl::const_iterator::const_iterator
  - ucl::Ucl::const_iterator::const_iterator
  - ucl::Ucl::const_iterator::const_iterator
  - ucl::Ucl::const_iterator::const_iterator
  - ~const_iterator()
  - '& operator=(const const_iterator &other)'
  - '& operator=(const_iterator &&other)'
  - operator==(const const_iterator &other) const
  - operator!=(const const_iterator &other) const
  - '& operator++()'
  - '& operator*() const'
  - '* operator->() const'
  - ~variable_replacer()
  - ucl::Ucl::is_variable
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::Ucl
  - ucl::Ucl::type
  - ucl::Ucl::key
  - ucl::Ucl::number_value
  - ucl::Ucl::int_value
  - ucl::Ucl::bool_value
  - ucl::Ucl::string_value
  - ucl::Ucl::size
  - ucl::Ucl::at
  - ucl::Ucl::lookup
  - operator[] (size_t i) const
  - operator[](const std::string &key) const
  - ucl::Ucl::dump
  - ucl::Ucl::dump
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse
  - ucl::Ucl::parse_from_file
  - ucl::Ucl::parse_from_file
  - ucl::Ucl::parse_from_file
  - ucl::Ucl::find_variable
  - ucl::Ucl::find_variable
  - ucl::Ucl::find_variable_from_file
  - '& operator= (Ucl rhs)'
  - operator== (const Ucl &rhs) const
  - operator< (const Ucl &rhs) const
  - operator!= (const Ucl &rhs) const
  - operator<= (const Ucl &rhs) const
  - operator> (const Ucl &rhs) const
  - operator>= (const Ucl &rhs) const
  - operator bool () const
  - ucl::Ucl::begin
  - ucl::Ucl::cbegin
  - ucl::Ucl::end
  - ucl::Ucl::cend
  source_file: /src/rtpproxy/external/libucl/include/ucl++.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: ucl_map_construct_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_array_construct_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_deleter
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields:
      - name: handler
        type: ucl_macro_handler
      - name: ctx_handler
        type: ucl_context_macro_handler
      item_type: struct
      name: macro_handler_s
      pos:
        line_end: 175
        line_start: 172
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields:
      - name: '*parser'
        type: ucl_parser
      - name: '*userdata'
        type: void
      item_type: struct
      name: macro_userdata_s
      pos:
        line_end: 180
        line_start: 177
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_iter_deleter
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields:
      - name: replace (const std::string &var) const
        type: std::string
      item_type: struct
      name: variable_replacer
      pos:
        line_end: 259
        line_start: 250
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_map_construct_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_array_construct_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_deleter
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields:
      - name: handler
        type: ucl_macro_handler
      - name: ctx_handler
        type: ucl_context_macro_handler
      item_type: struct
      name: macro_handler_s
      pos:
        line_end: 175
        line_start: 172
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields:
      - name: '*parser'
        type: ucl_parser
      - name: '*userdata'
        type: void
      item_type: struct
      name: macro_userdata_s
      pos:
        line_end: 180
        line_start: 177
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields: []
      item_type: struct
      name: ucl_iter_deleter
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    - fields:
      - name: replace (const std::string &var) const
        type: std::string
      item_type: struct
      name: variable_replacer
      pos:
        line_end: 259
        line_start: 250
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
    typedefs:
    - item_type: typedef
      name: iterator_category
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
      type: forward_iterator_tag
    - item_type: typedef
      name: iterator_category
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/rtpproxy/external/libucl/include/ucl++.h
      type: forward_iterator_tag
    union: []
- function_names:
  - UCL_ALLOC
  - UCL_FREE
  - UCL_DEPRECATED
  - UCL_DEPRECATED
  - UCL_DEPRECATED
  - ucl_object_iterate
  source_file: /src/rtpproxy/external/libucl/include/ucl.h
  types:
    enum:
    - enumerators:
      - name: UCL_EOK
        value: '0'
      - name: UCL_EIO
      - name: UCL_ESYNTAX
      - name: UCL_ESTATE
      - name: UCL_ENESTED
      - name: UCL_EUNPAIRED
      - name: UCL_EMACRO
      - name: UCL_EINTERNAL
      - name: UCL_ESSL
      - name: UCL_EMERGE
      item_type: enum
      name: ucl_error
      pos:
        line_end: 112
        line_start: 101
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_OBJECT
        value: '0'
      - name: UCL_FLOAT
      - name: UCL_ARRAY
      - name: UCL_STRING
      - name: UCL_INT
      - name: UCL_BOOLEAN
      - name: UCL_TIME
      - name: UCL_USERDATA
      - name: UCL_NULL
      item_type: enum
      name: ucl_type
      pos:
        line_end: 130
        line_start: 120
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_EMIT_JSON
        value: '0'
      - name: UCL_EMIT_MSGPACK
      - name: UCL_EMIT_JSON_COMPACT
      - name: UCL_EMIT_YAML
      - name: UCL_EMIT_CONFIG
      - name: UCL_EMIT_MAX
      item_type: enum
      name: ucl_emitter
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_PARSER_DEFAULT
        value: '0'
      - name: UCL_PARSER_KEY_LOWERCASE
        value: (1 << 0)
      - name: UCL_PARSER_NO_TIME
        value: (1 << 2)
      - name: UCL_PARSER_ZEROCOPY
        value: (1 << 1)
      - name: UCL_PARSER_NO_IMPLICIT_ARRAYS
        value: (1 << 3)
      - name: UCL_PARSER_SAVE_COMMENTS
        value: (1 << 4)
      - name: UCL_PARSER_DISABLE_MACRO
        value: (1 << 5)
      - name: UCL_PARSER_NO_FILEVARS
        value: (1 << 6)
      item_type: enum
      name: ucl_parser_flags
      pos:
        line_end: 159
        line_start: 150
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_STRING_RAW
        value: '0x0'
      - name: UCL_STRING_PARSE_BOOLEAN
        value: (1 << 2)
      - name: UCL_STRING_ESCAPE
        value: (1 << 0)
      - name: UCL_STRING_PARSE_INT
        value: (1 << 3)
      - name: UCL_STRING_TRIM
        value: (1 << 1)
      - name: UCL_STRING_PARSE_DOUBLE
        value: (1 << 4)
      - name: UCL_STRING_PARSE_TIME
        value: (1 << 5)
      - name: UCL_STRING_PARSE_NUMBER
        value: UCL_STRING_PARSE_INT|UCL_STRING_PARSE_DOUBLE|UCL_STRING_PARSE_TIME
      - name: UCL_STRING_PARSE
        value: UCL_STRING_PARSE_BOOLEAN|UCL_STRING_PARSE_NUMBER
      - name: UCL_STRING_PARSE_BYTES
        value: (1 << 6)
      item_type: enum
      name: ucl_string_flags
      pos:
        line_end: 177
        line_start: 164
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_OBJECT_ALLOCATED_KEY
        value: (1 << 0)
      - name: UCL_OBJECT_EPHEMERAL
        value: (1 << 3)
      - name: UCL_OBJECT_NEED_KEY_ESCAPE
        value: (1 << 2)
      - name: UCL_OBJECT_ALLOCATED_VALUE
        value: (1 << 1)
      - name: UCL_OBJECT_MULTILINE
        value: (1 << 4)
      - name: UCL_OBJECT_MULTIVALUE
        value: (1 << 5)
      - name: UCL_OBJECT_INHERITED
        value: (1 << 6)
      - name: UCL_OBJECT_BINARY
        value: (1 << 7)
      - name: UCL_OBJECT_SQUOTED
        value: (1 << 8)
      item_type: enum
      name: ucl_object_flags
      pos:
        line_end: 193
        line_start: 183
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_DUPLICATE_APPEND
        value: '0'
      - name: UCL_DUPLICATE_MERGE
      - name: UCL_DUPLICATE_REWRITE
      - name: UCL_DUPLICATE_ERROR
      item_type: enum
      name: ucl_duplicate_strategy
      pos:
        line_end: 203
        line_start: 198
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_PARSE_UCL
        value: '0'
      - name: UCL_PARSE_AUTO
      - name: UCL_PARSE_MSGPACK
      - name: UCL_PARSE_CSEXP
      item_type: enum
      name: ucl_parse_type
      pos:
        line_end: 213
        line_start: 208
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_SORT_KEYS_DEFAULT
        value: '0'
      - name: UCL_SORT_KEYS_RECURSIVE
        value: (1u << 1u)
      - name: UCL_SORT_KEYS_ICASE
        value: (1u << 0u)
      item_type: enum
      name: ucl_object_keys_sort_flags
      pos:
        line_end: 806
        line_start: 802
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_ITERATE_EXPLICIT
        value: 1 << 0
      - name: UCL_ITERATE_BOTH
        value: (1 << 0) | (1 << 1)
      - name: UCL_ITERATE_IMPLICIT
        value: 1 << 1
      item_type: enum
      name: ucl_iterate_type
      pos:
        line_end: 890
        line_start: 886
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_SPECIAL_HANDLER_DEFAULT
        value: '0'
      - name: UCL_SPECIAL_HANDLER_PREPROCESS_ALL
        value: (1u << 0)
      item_type: enum
      name: ucl_special_handler_flags
      pos:
        line_end: 1330
        line_start: 1327
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - enumerators:
      - name: UCL_SCHEMA_OK
        value: '0'
      - name: UCL_SCHEMA_CONSTRAINT
      - name: UCL_SCHEMA_INVALID_SCHEMA
      - name: UCL_SCHEMA_TYPE_MISMATCH
      - name: UCL_SCHEMA_MISSING_PROPERTY
      - name: UCL_SCHEMA_MISSING_DEPENDENCY
      - name: UCL_SCHEMA_EXTERNAL_REF_MISSING
      - name: UCL_SCHEMA_EXTERNAL_REF_INVALID
      - name: UCL_SCHEMA_INTERNAL_ERROR
      - name: UCL_SCHEMA_UNKNOWN
      item_type: enum
      name: ucl_schema_error_code
      pos:
        line_end: 1570
        line_start: 1559
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    preproc_defs:
    - item_type: preproc_def
      name: UCL_EXTERN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: UCL_WARN_UNUSED_RESULT
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: ucl_object_find_key
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_lookup
    - item_type: preproc_def
      name: ucl_object_find_any_key
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_lookup_any
    - item_type: preproc_def
      name: ucl_object_find_keyl
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_lookup_len
    - item_type: preproc_def
      name: ucl_lookup_path
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_lookup_path
    - item_type: preproc_def
      name: ucl_lookup_path_char
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_lookup_path_char
    - item_type: preproc_def
      name: ucl_iterate_object
      pos:
        line_end: 848
        line_start: 847
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_iterate
    - item_type: preproc_def
      name: ucl_obj_todouble_safe
      pos:
        line_end: 1634
        line_start: 1633
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_todouble_safe
    - item_type: preproc_def
      name: ucl_obj_todouble
      pos:
        line_end: 1635
        line_start: 1634
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_todouble
    - item_type: preproc_def
      name: ucl_obj_tostring
      pos:
        line_end: 1636
        line_start: 1635
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_tostring
    - item_type: preproc_def
      name: ucl_obj_tostring_safe
      pos:
        line_end: 1637
        line_start: 1636
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_tostring_safe
    - item_type: preproc_def
      name: ucl_obj_tolstring
      pos:
        line_end: 1638
        line_start: 1637
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_tolstring
    - item_type: preproc_def
      name: ucl_obj_tolstring_safe
      pos:
        line_end: 1639
        line_start: 1638
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_tolstring_safe
    - item_type: preproc_def
      name: ucl_obj_toint
      pos:
        line_end: 1640
        line_start: 1639
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_toint
    - item_type: preproc_def
      name: ucl_obj_toint_safe
      pos:
        line_end: 1641
        line_start: 1640
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_toint_safe
    - item_type: preproc_def
      name: ucl_obj_toboolean
      pos:
        line_end: 1642
        line_start: 1641
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_toboolean
    - item_type: preproc_def
      name: ucl_obj_toboolean_safe
      pos:
        line_end: 1643
        line_start: 1642
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_toboolean_safe
    - item_type: preproc_def
      name: ucl_obj_get_key
      pos:
        line_end: 1644
        line_start: 1643
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_find_key
    - item_type: preproc_def
      name: ucl_obj_get_keyl
      pos:
        line_end: 1645
        line_start: 1644
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_find_keyl
    - item_type: preproc_def
      name: ucl_obj_unref
      pos:
        line_end: 1646
        line_start: 1645
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_unref
    - item_type: preproc_def
      name: ucl_obj_ref
      pos:
        line_end: 1647
        line_start: 1646
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_ref
    - item_type: preproc_def
      name: ucl_obj_free
      pos:
        line_end: 1648
        line_start: 1647
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: ucl_object_free
    - item_type: preproc_def
      name: UCL_PRIORITY_MIN
      pos:
        line_end: 1650
        line_start: 1649
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: '0'
    - item_type: preproc_def
      name: UCL_PRIORITY_MAX
      pos:
        line_end: 1651
        line_start: 1650
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type_or_value: '15'
    structs:
    - fields:
      - name: value
        type: "union {\n\t\tint64_t iv;\t\t\t\t\t\t\t/**< Int value of an object */\n\t\tconst
          char *sv;\t\t\t\t\t\t/**< String value of an object */\n\t\tdouble dv;\t\t\t\t\t\t\t/**<
          Double value of an object */\n\t\tvoid *av;\t\t\t\t\t\t\t/**< Array\t\t\t\t\t*/\n\t\tvoid
          *ov;\t\t\t\t\t\t\t/**< Object\t\t\t\t\t*/\n\t\tvoid* ud;\t\t\t\t\t\t\t/**<
          Opaque user data\t\t*/\n\t}"
      - name: '*key'
        type: char
      - name: '*next'
        type: struct ucl_object_s
      - name: '*prev'
        type: struct ucl_object_s
      - name: keylen
        type: uint32_t
      - name: len
        type: uint32_t
      - name: ref
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: type
        type: uint16_t
      - name: '* trash_stack[2]'
        type: unsigned char
      item_type: struct
      name: ucl_object_s
      pos:
        line_end: 240
        line_start: 219
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - fields:
      - name: '*magic'
        type: unsigned char
      - name: magic_len
        type: size_t
      - name: flags
        type: enum ucl_special_handler_flags
      - name: handler
        type: ucl_parser_special_handler_t
      - name: (*free_function) (unsigned char *data, size_t len, void *user_data)
        type: void
      - name: '*user_data'
        type: void
      - name: '*next'
        type: struct ucl_parser_special_handler
      item_type: struct
      name: ucl_parser_special_handler
      pos:
        line_end: 1343
        line_start: 1335
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - fields:
      - name: (*ucl_emitter_append_character) (unsigned char c, size_t nchars, void
          *ud)
        type: int
      - name: (*ucl_emitter_append_len) (unsigned const char *str, size_t len, void
          *ud)
        type: int
      - name: (*ucl_emitter_append_int) (int64_t elt, void *ud)
        type: int
      - name: (*ucl_emitter_append_double) (double elt, void *ud)
        type: int
      - name: (*ucl_emitter_free_func)(void *ud)
        type: void
      - name: '*ud'
        type: void
      item_type: struct
      name: ucl_emitter_functions
      pos:
        line_end: 1405
        line_start: 1392
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - fields:
      - name: "(*ucl_emitter_write_elt) (struct ucl_emitter_context *ctx,\n\t\tconst
          ucl_object_t *obj, bool first, bool print_key)"
        type: void
      - name: "(*ucl_emitter_start_object) (struct ucl_emitter_context *ctx,\n\t\tconst
          ucl_object_t *obj, bool first, bool print_key)"
        type: void
      - name: "(*ucl_emitter_end_object) (struct ucl_emitter_context *ctx,\n\t\tconst
          ucl_object_t *obj)"
        type: void
      - name: "(*ucl_emitter_start_array) (struct ucl_emitter_context *ctx,\n\t\tconst
          ucl_object_t *obj, bool first, bool print_key)"
        type: void
      - name: "(*ucl_emitter_end_array) (struct ucl_emitter_context *ctx,\n\t\tconst
          ucl_object_t *obj)"
        type: void
      item_type: struct
      name: ucl_emitter_operations
      pos:
        line_end: 1422
        line_start: 1407
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - fields:
      - name: '*name'
        type: char
      - name: id
        type: int
      - name: '*func'
        type: struct ucl_emitter_functions
      - name: '*ops'
        type: struct ucl_emitter_operations
      - name: indent
        type: unsigned int
      - name: '*top'
        type: ucl_object_t
      - name: '*comments'
        type: ucl_object_t
      item_type: struct
      name: ucl_emitter_context
      pos:
        line_end: 1442
        line_start: 1427
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    - fields:
      - name: code
        type: enum ucl_schema_error_code
      - name: msg[128]
        type: char
      - name: '*obj'
        type: ucl_object_t
      item_type: struct
      name: ucl_schema_error
      pos:
        line_end: 1579
        line_start: 1575
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
    typedefs:
    - item_type: typedef
      name: (*ucl_userdata_dtor)(void *ud)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: void
    - item_type: typedef
      name: '* (*ucl_userdata_emitter)(void *ud)'
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: char
    - item_type: typedef
      name: '* ucl_object_iter_t'
      pos:
        line_end: 833
        line_start: 833
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: void
    - item_type: typedef
      name: "(*ucl_macro_handler) (const unsigned char *data, size_t len,\n\t\tconst
        ucl_object_t *arguments,\n\t\tvoid* ud)"
      pos:
        line_end: 929
        line_start: 927
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: bool
    - item_type: typedef
      name: "(*ucl_context_macro_handler) (const unsigned char *data, size_t len,\n\t\tconst
        ucl_object_t *arguments,\n\t\tconst ucl_object_t *context,\n\t\tvoid* ud)"
      pos:
        line_end: 944
        line_start: 941
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: bool
    - item_type: typedef
      name: "(*ucl_variable_handler) (const unsigned char *data, size_t len,\n\t\tunsigned
        char **replace, size_t *replace_len, bool *need_free, void* ud)"
      pos:
        line_end: 1009
        line_start: 1008
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: bool
    - item_type: typedef
      name: "(*ucl_parser_special_handler_t) (struct ucl_parser *parser,\n\t\tconst
        unsigned char *source, size_t source_len,\n\t\tunsigned char **destination,
        size_t *dest_len,\n\t\tvoid *user_data)"
      pos:
        line_end: 1322
        line_start: 1319
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: bool
    - item_type: typedef
      name: "(ucl_include_trace_func_t) (struct ucl_parser *parser,\n\t\tconst ucl_object_t
        *parent,\n\t\tconst ucl_object_t *args,\n\t\tconst char *path,\n\t\tsize_t
        pathlen,\n\t\tvoid *user_data)"
      pos:
        line_end: 1367
        line_start: 1362
        source_file: /src/rtpproxy/external/libucl/include/ucl.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libucl/include/lua_ucl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*L'
        type: lua_State
      - name: idx
        type: int
      - name: '*ret'
        type: char
      item_type: struct
      name: ucl_lua_funcdata
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/rtpproxy/external/libucl/include/lua_ucl.h
    typedefs: []
    union: []
- function_names:
  - kh_unused
  - kh_unused
  - __ac_isempty
  - __ac_isdel
  - __ac_iseither
  - __ac_set_isdel_false
  - __ac_set_isempty_false
  - __ac_set_isboth_false
  - __ac_set_isdel_true
  - __ac_fsize
  - kroundup32
  - kcalloc
  - kmalloc
  - krealloc
  - kfree
  - __KHASH_TYPE
  - __KHASH_PROTOTYPES
  - __KHASH_IMPL
  - KHASH_DECLARE
  - KHASH_INIT2
  - KHASH_INIT
  - kh_int_hash_func
  - kh_int_hash_equal
  - kh_int64_hash_func
  - kh_int64_hash_equal
  - __ac_X31_hash_string
  - kh_str_hash_func
  - kh_str_hash_equal
  - __ac_Wang_hash
  - kh_int_hash_func2
  - khash_t
  - kh_init
  - kh_destroy
  - kh_clear
  - kh_resize
  - kh_put
  - kh_get
  - kh_del
  - kh_exist
  - kh_key
  - kh_val
  - kh_value
  - kh_begin
  - kh_end
  - kh_size
  - kh_n_buckets
  - kh_foreach
  - kh_foreach_value
  - KHASH_SET_INIT_INT
  - KHASH_MAP_INIT_INT
  - KHASH_SET_INIT_INT64
  - KHASH_MAP_INIT_INT64
  - KHASH_SET_INIT_STR
  - KHASH_MAP_INIT_STR
  source_file: /src/rtpproxy/external/libucl/klib/khash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AC_VERSION_KHASH_H
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type_or_value: '"0.2.8"'
    - item_type: preproc_def
      name: kh_inline
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type_or_value: __inline
    - item_type: preproc_def
      name: kh_inline
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type_or_value: inline
    structs: []
    typedefs:
    - item_type: typedef
      name: khint32_t
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: unsigned int
    - item_type: typedef
      name: khint32_t
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: unsigned long
    - item_type: typedef
      name: khint64_t
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: unsigned long
    - item_type: typedef
      name: khint64_t
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: unsigned long long
    - item_type: typedef
      name: khint_t
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: khint32_t
    - item_type: typedef
      name: khiter_t
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: khint_t
    - item_type: typedef
      name: '*kh_cstr_t'
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/rtpproxy/external/libucl/klib/khash.h
      type: char
    union: []
- function_names:
  - kv_roundup32
  - kvec_t
  - kv_init
  - kv_destroy
  - kv_A
  - kv_pop
  - kv_size
  - kv_max
  - kv_resize_safe
  - kv_grow_safe
  - kv_copy_safe
  - kv_push_safe
  - kv_prepend_safe
  - kv_concat_safe
  - kv_del
  - kv_resize
  - kv_grow
  - kv_copy
  - kv_push
  - kv_prepend
  - kv_concat
  source_file: /src/rtpproxy/external/libucl/klib/kvec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kv_grow_factor
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/external/libucl/klib/kvec.h
      type_or_value: '1.5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/rtpproxy/external/libucl/examples/ucl_cpp.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ucl_obj_dump
  - main
  source_file: /src/rtpproxy/external/libucl/utils/objdump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/rtpproxy/external/libucl/utils/objdump.c
      type: SSIZE_T
    union: []
- function_names:
  - print_flag
  - main
  source_file: /src/rtpproxy/external/libucl/utils/chargen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/rtpproxy/external/libucl/utils/ucl-tool.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stun_transp_name
  source_file: /src/rtpproxy/external/libre/src/stun/stunstr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stun_request
  source_file: /src/rtpproxy/external/libre/src/stun/req.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - completed
  - destructor
  - timeout_handler
  - match_handler
  - udp_recv_handler
  - tcp_recv_handler
  - tcp_estab_handler
  - tcp_close_handler
  - stun_ctrans_recv
  - stun_ctrans_request
  - close_handler
  - stun_ctrans_close
  - debug_handler
  - stun_ctrans_debug
  source_file: /src/rtpproxy/external/libre/src/stun/ctrans.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: tmr
        type: struct tmr
      - name: dst
        type: struct sa
      - name: tid[STUN_TID_SIZE]
        type: uint8_t
      - name: '**ctp'
        type: struct stun_ctrans
      - name: '*key'
        type: uint8_t
      - name: keylen
        type: size_t
      - name: '*sock'
        type: void
      - name: '*mb'
        type: struct mbuf
      - name: pos
        type: size_t
      - name: '*stun'
        type: struct stun
      - name: '*resph'
        type: stun_resp_h
      - name: '*arg'
        type: void
      - name: proto
        type: int
      - name: txc
        type: uint32_t
      - name: ival
        type: uint32_t
      - name: met
        type: uint16_t
      item_type: struct
      name: stun_ctrans
      pos:
        line_end: 40
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/stun/ctrans.c
    typedefs: []
    union: []
- function_names:
  - resolved
  - a_handler
  - aaaa_handler
  - a_or_aaaa_query
  - srv_handler
  - dnsdisc_destructor
  - stun_server_discover
  source_file: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
      type_or_value: '"dnsdisc"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
      type_or_value: '5'
    structs:
    - fields:
      - name: domain[256]
        type: char
      - name: '*dnsh'
        type: stun_dns_h
      - name: '*arg'
        type: void
      - name: srv
        type: struct sa
      - name: '*dnsc'
        type: struct dnsc
      - name: '*dq'
        type: struct dns_query
      - name: af
        type: int
      - name: port
        type: uint16_t
      item_type: struct
      name: stun_dns
      pos:
        line_end: 31
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/stun/dnsdisc.c
    typedefs: []
    union: []
- function_names:
  - stun_reply
  - stun_ereply
  source_file: /src/rtpproxy/external/libre/src/stun/rep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stun_indication
  source_file: /src/rtpproxy/external/libre/src/stun/ind.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - keepalive_destructor
  - call_handler
  - stun_response_handler
  - timeout
  - udp_recv_handler
  - stun_keepalive_alloc
  - stun_keepalive_enable
  source_file: /src/rtpproxy/external/libre/src/stun/keepalive.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/stun/keepalive.c
      type_or_value: '"keepalive"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/stun/keepalive.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*ct'
        type: struct stun_ctrans
      - name: '*stun'
        type: struct stun
      - name: '*uh'
        type: struct udp_helper
      - name: proto
        type: int
      - name: '*sock'
        type: void
      - name: dst
        type: struct sa
      - name: tmr
        type: struct tmr
      - name: interval
        type: uint32_t
      - name: '*mah'
        type: stun_mapped_addr_h
      - name: '*arg'
        type: void
      - name: map
        type: struct sa
      - name: xormap
        type: struct sa
      - name: curmap
        type: struct sa
      item_type: struct
      name: stun_keepalive
      pos:
        line_end: 35
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/stun/keepalive.c
    typedefs: []
    union: []
- function_names:
  - fingerprint
  - destructor
  - stun_msg_decode
  - stun_msg_type
  - stun_msg_class
  - stun_msg_method
  - stun_msg_tid
  - stun_msg_mcookie
  - stun_msg_attr
  - stun_msg_attr_apply
  - stun_msg_vencode
  - stun_msg_encode
  - stun_msg_chk_mi
  - stun_msg_chk_fingerprint
  - attr_print
  - stun_msg_dump
  source_file: /src/rtpproxy/external/libre/src/stun/msg.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hdr
        type: struct stun_hdr
      - name: attrl
        type: struct list
      - name: '*mb'
        type: struct mbuf
      - name: start
        type: size_t
      item_type: struct
      name: stun_msg
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/rtpproxy/external/libre/src/stun/msg.c
    typedefs: []
    union: []
- function_names:
  - stun_hdr_encode
  - stun_hdr_decode
  source_file: /src/rtpproxy/external/libre/src/stun/hdr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STUN_TYPE
  - STUN_CLASS
  - STUN_METHOD
  source_file: /src/rtpproxy/external/libre/src/stun/stun.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: uint16_t
      - name: len
        type: uint16_t
      - name: cookie
        type: uint32_t
      - name: tid[STUN_TID_SIZE]
        type: uint8_t
      item_type: struct
      name: stun_hdr
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/rtpproxy/external/libre/src/stun/stun.h
    - fields:
      - name: ctl
        type: struct list
      - name: conf
        type: struct stun_conf
      - name: '*indh'
        type: stun_ind_h
      - name: '*arg'
        type: void
      item_type: struct
      name: stun
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/rtpproxy/external/libre/src/stun/stun.h
    typedefs: []
    union: []
- function_names:
  - destructor
  - stun_alloc
  - stun_conf
  - stun_send
  - stun_recv
  - stun_debug
  source_file: /src/rtpproxy/external/libre/src/stun/stun.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - str_decode
  - destructor
  - stun_attr_encode
  - stun_attr_decode
  - stun_attr_name
  - stun_attr_dump
  source_file: /src/rtpproxy/external/libre/src/stun/attr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - in6_xor_tid
  - stun_addr_encode
  - stun_addr_decode
  source_file: /src/rtpproxy/external/libre/src/stun/addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_htols
  - sys_htoll
  - sys_ltohs
  - sys_ltohl
  - sys_htonll
  - sys_ntohll
  source_file: /src/rtpproxy/external/libre/src/sys/endian.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_rel_get
  - sys_kernel_get
  - sys_build_get
  - sys_arch_get
  - sys_os_get
  - sys_libre_version_get
  - sys_username
  - sys_coredump_set
  source_file: /src/rtpproxy/external/libre/src/sys/sys.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rand_init
  - rand_u16
  - rand_u32
  - rand_u64
  - rand_char
  - rand_str
  - rand_bytes
  source_file: /src/rtpproxy/external/libre/src/sys/rand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/sys/rand.c
      type_or_value: '"rand"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/sys/rand.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RAND_DEBUG
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/sys/rand.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: RAND_CHECK
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/sys/rand.c
      type_or_value: "if (!inited) {\t\t\t\t\t\t\t\\\n\t\tDEBUG_WARNING(\"%s: random
        not inited\\n\", __REFUNC__);\t\\\n\t}"
    - item_type: preproc_def
      name: RAND_CHECK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/external/libre/src/sys/rand.c
      type_or_value: if (0) {}
    structs: []
    typedefs: []
    union: []
- function_names:
  - fs_mkdir
  - fs_gethome
  source_file: /src/rtpproxy/external/libre/src/sys/fs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_usleep
  source_file: /src/rtpproxy/external/libre/src/sys/sleep.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/sys/sleep.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sys_daemon
  source_file: /src/rtpproxy/external/libre/src/sys/daemon.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - srtp_replay_init
  - srtp_replay_check
  source_file: /src/rtpproxy/external/libre/src/srtp/replay.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - srtp_get_index
  - srtp_derive
  - srtp_iv_calc
  - srtp_iv_calc_gcm
  - srtp_suite_name
  source_file: /src/rtpproxy/external/libre/src/srtp/misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - seq_diff
  - comp_init
  - destructor
  - srtp_alloc
  - srtp_encrypt
  - srtp_decrypt
  source_file: /src/rtpproxy/external/libre/src/srtp/srtp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_rtcp_ssrc
  - srtcp_encrypt
  - srtcp_decrypt
  source_file: /src/rtpproxy/external/libre/src/srtp/srtcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stream_destructor
  - stream_find
  - stream_new
  - stream_get
  - stream_get_seq
  source_file: /src/rtpproxy/external/libre/src/srtp/stream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SRTP_MAX_STREAMS
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/srtp/stream.c
      type_or_value: '(8)  '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/srtp/srtp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bitmap
        type: uint64_t
      - name: lix
        type: uint64_t
      item_type: struct
      name: replay
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/srtp/srtp.h
    - fields:
      - name: le
        type: struct le
      - name: replay_rtp
        type: struct replay
      - name: replay_rtcp
        type: struct replay
      - name: ssrc
        type: uint32_t
      - name: roc
        type: uint32_t
      - name: s_l
        type: uint16_t
      - name: s_l_set
        type: bool
      - name: rtcp_index
        type: uint32_t
      item_type: struct
      name: srtp_stream
      pos:
        line_end: 37
        line_start: 28
        source_file: /src/rtpproxy/external/libre/src/srtp/srtp.h
    - fields:
      - name: rtp
        type: "struct comp {\n\t\tstruct aes *aes;    /**< AES Context                       */\n\t\tenum
          aes_mode mode; /**< AES encryption mode               */\n\t\tstruct hmac
          *hmac;  /**< HMAC Context                      */\n\t\tunion vect128 k_s;
          \ /**< Derived salting key (14 bytes)    */\n\t\tsize_t tag_len;     /**<
          CTR Auth. tag length [bytes]      */\n\t}"
      - name: streaml
        type: struct list
      item_type: struct
      name: srtp
      pos:
        line_end: 50
        line_start: 40
        source_file: /src/rtpproxy/external/libre/src/srtp/srtp.h
    - fields:
      - name: '*aes'
        type: struct aes
      - name: mode
        type: enum aes_mode
      - name: '*hmac'
        type: struct hmac
      - name: k_s
        type: union vect128
      - name: tag_len
        type: size_t
      item_type: struct
      name: comp
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/rtpproxy/external/libre/src/srtp/srtp.h
    typedefs: []
    union:
    - fields:
      - name: u64[ 2]
        type: uint64_t
      - name: u32[ 4]
        type: uint32_t
      - name: u16[ 8]
        type: uint16_t
      - name: u8[16]
        type: uint8_t
      item_type: union
      name: vect128
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/srtp/srtp.h
- function_names:
  - destructor
  - timeout
  - refresh_timer
  - allocate_resp_handler
  - allocate_request
  - refresh_resp_handler
  - refresh_request
  - stun_indlen
  - udp_send_handler
  - udp_recv_handler
  - turnc_alloc
  - turnc_send
  - turnc_recv
  - turnc_request_loops
  - turnc_loopstate_reset
  - turnc_keygen
  source_file: /src/rtpproxy/external/libre/src/turn/turnc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/turn/turnc.c
      type_or_value: '"turnc"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/external/libre/src/turn/turnc.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - channels_destructor
  - chan_destructor
  - numb_hash_cmp_handler
  - peer_hash_cmp_handler
  - timeout
  - chanbind_resp_handler
  - chanbind_request
  - turnc_add_chan
  - turnc_chan_hash_alloc
  - turnc_chan_find_numb
  - turnc_chan_find_peer
  - turnc_chan_numb
  - turnc_chan_peer
  - turnc_chan_hdr_encode
  - turnc_chan_hdr_decode
  source_file: /src/rtpproxy/external/libre/src/turn/chan.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ht_numb'
        type: struct hash
      - name: '*ht_peer'
        type: struct hash
      - name: nr
        type: uint16_t
      item_type: struct
      name: channels
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/turn/chan.c
    - fields:
      - name: he_numb
        type: struct le
      - name: he_peer
        type: struct le
      - name: ls
        type: struct loop_state
      - name: nr
        type: uint16_t
      - name: peer
        type: struct sa
      - name: tmr
        type: struct tmr
      - name: '*turnc'
        type: struct turnc
      - name: '*ct'
        type: struct stun_ctrans
      - name: '*ch'
        type: turnc_chan_h
      - name: '*arg'
        type: void
      item_type: struct
      name: chan
      pos:
        line_end: 45
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/turn/chan.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - hash_cmp_handler
  - perm_find
  - timeout
  - createperm_resp_handler
  - createperm_request
  - turnc_add_perm
  - turnc_perm_hash_alloc
  source_file: /src/rtpproxy/external/libre/src/turn/perm.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: he
        type: struct le
      - name: ls
        type: struct loop_state
      - name: peer
        type: struct sa
      - name: tmr
        type: struct tmr
      - name: '*turnc'
        type: struct turnc
      - name: '*ct'
        type: struct stun_ctrans
      - name: '*ph'
        type: turnc_perm_h
      - name: '*arg'
        type: void
      item_type: struct
      name: perm
      pos:
        line_end: 34
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/turn/perm.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/turn/turnc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: failc
        type: uint32_t
      - name: last_scode
        type: uint16_t
      item_type: struct
      name: loop_state
      pos:
        line_end: 11
        line_start: 8
        source_file: /src/rtpproxy/external/libre/src/turn/turnc.h
    - fields:
      - name: ls
        type: struct loop_state
      - name: '*uh'
        type: struct udp_helper
      - name: '*ct'
        type: struct stun_ctrans
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: psrv
        type: struct sa
      - name: srv
        type: struct sa
      - name: '*sock'
        type: void
      - name: proto
        type: int
      - name: '*stun'
        type: struct stun
      - name: lifetime
        type: uint32_t
      - name: tmr
        type: struct tmr
      - name: '*th'
        type: turnc_h
      - name: '*arg'
        type: void
      - name: md5_hash[MD5_SIZE]
        type: uint8_t
      - name: '*nonce'
        type: char
      - name: '*realm'
        type: char
      - name: '*perms'
        type: struct hash
      - name: '*chans'
        type: struct channels
      - name: allocated
        type: bool
      item_type: struct
      name: turnc
      pos:
        line_end: 37
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/turn/turnc.h
    - fields:
      - name: nr
        type: uint16_t
      - name: len
        type: uint16_t
      item_type: struct
      name: chan_hdr
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/rtpproxy/external/libre/src/turn/turnc.h
    typedefs: []
    union: []
- function_names:
  - expr_match
  - re_regex
  source_file: /src/rtpproxy/external/libre/src/fmt/regex.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: min
        type: uint8_t
      - name: max
        type: uint8_t
      item_type: struct
      name: chr
      pos:
        line_end: 14
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/fmt/regex.c
    typedefs: []
    union: []
- function_names:
  - hexdump
  source_file: /src/rtpproxy/external/libre/src/fmt/hexdump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - str_error
  source_file: /src/rtpproxy/external/libre/src/fmt/str_error.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/fmt/str_error.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/fmt/str_error.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - utf8_encode
  - utf8_decode
  - utf8_byteseq
  source_file: /src/rtpproxy/external/libre/src/fmt/unicode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - str_hex
  - str_ncpy
  - str_dup
  - str_cmp
  - str_casecmp
  - str_len
  source_file: /src/rtpproxy/external/libre/src/fmt/str.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pl_set_str
  - pl_set_mbuf
  - pl_u32
  - pl_x32
  - pl_u64
  - pl_x64
  - pl_float
  - pl_isset
  - pl_strcpy
  - pl_strdup
  - pl_dup
  - pl_strcmp
  - pl_strcasecmp
  - pl_cmp
  - casecmp
  - LOWER
  - pl_casecmp
  - pl_strchr
  - pl_strrchr
  source_file: /src/rtpproxy/external/libre/src/fmt/pl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __EXTENSIONS__
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/external/libre/src/fmt/pl.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ch_hex
  source_file: /src/rtpproxy/external/libre/src/fmt/ch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fmt_param_exists
  - fmt_param_get
  - fmt_param_apply
  source_file: /src/rtpproxy/external/libre/src/fmt/prm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fmt_gmtime
  - fmt_human_time
  source_file: /src/rtpproxy/external/libre/src/fmt/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isinf
  - isnan
  - isinf
  - isnan
  - write_padded
  - local_itoa
  - local_ftoa
  - re_vhprintf
  - print_handler
  - print_handler_dyn
  - print_handler_stream
  - re_vfprintf
  - re_vprintf
  - re_vsnprintf
  - re_vsdprintf
  - re_hprintf
  - re_fprintf
  - re_printf
  - re_snprintf
  - re_sdprintf
  source_file: /src/rtpproxy/external/libre/src/fmt/print.c
  types:
    enum:
    - enumerators:
      - name: LENMOD_NONE
        value: '0'
      - name: LENMOD_LONG_LONG
        value: '2'
      - name: LENMOD_LONG
        value: '1'
      - name: LENMOD_SIZE
        value: '42'
      item_type: enum
      name: length_modifier
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/fmt/print.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: '*p'
        type: char
      - name: l
        type: size_t
      - name: size
        type: size_t
      item_type: struct
      name: dyn_print
      pos:
        line_end: 528
        line_start: 523
        source_file: /src/rtpproxy/external/libre/src/fmt/print.c
    - fields:
      - name: '*f'
        type: FILE
      - name: n
        type: size_t
      item_type: struct
      name: strm_print
      pos:
        line_end: 559
        line_start: 556
        source_file: /src/rtpproxy/external/libre/src/fmt/print.c
    typedefs: []
    union: []
- function_names:
  - bio_create
  - bio_destroy
  - bio_write
  - bio_ctrl
  - bio_method_udp
  - tls_close
  - conn_destructor
  - conn_close
  - timeout
  - check_timer
  - check_timer
  - tls_connect
  - tls_accept
  - conn_recv
  - conn_alloc
  - dtls_connect
  - dtls_accept
  - dtls_send
  - dtls_set_handlers
  - dtls_peer
  - dtls_set_peer
  - sock_destructor
  - cmp_handler
  - conn_lookup
  - recv_handler
  - dtls_listen
  - dtls_udp_sock
  - dtls_set_mtu
  - dtls_recv_packet
  source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
      type_or_value: '"dtls"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
      type_or_value: '5'
    structs:
    - fields:
      - name: peer
        type: struct sa
      - name: '*uh'
        type: struct udp_helper
      - name: '*us'
        type: struct udp_sock
      - name: '*ht'
        type: struct hash
      - name: '*mb'
        type: struct mbuf
      - name: '*connh'
        type: dtls_conn_h
      - name: '*arg'
        type: void
      - name: mtu
        type: size_t
      item_type: struct
      name: dtls_sock
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    - fields:
      - name: '*ssl'
        type: SSL
      - name: '*sbio_out'
        type: BIO
      - name: '*sbio_in'
        type: BIO
      - name: tmr
        type: struct tmr
      - name: peer
        type: struct sa
      - name: he
        type: struct le
      - name: '*sock'
        type: struct dtls_sock
      - name: '*estabh'
        type: dtls_estab_h
      - name: '*recvh'
        type: dtls_recv_h
      - name: '*closeh'
        type: dtls_close_h
      - name: '*arg'
        type: void
      - name: active
        type: bool
      - name: up
        type: bool
      item_type: struct
      name: tls_conn
      pos:
        line_end: 64
        line_start: 47
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_udp.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - password_cb
  - keytype2int
  - tls_alloc
  - tls_add_ca
  - tls_set_selfsigned
  - tls_set_certificate_pem
  - tls_set_certificate_der
  - tls_set_certificate
  - verify_handler
  - tls_set_verify_client
  - tls_set_srtp
  - cert_fingerprint
  - tls_fingerprint
  - tls_peer_fingerprint
  - tls_peer_common_name
  - tls_peer_verify
  - tls_srtp_keyinfo
  - tls_cipher_name
  - tls_set_ciphers
  - tls_set_servername
  - tls_set_verify_server
  - print_error
  - tls_flush_error
  - tls_openssl_context
  source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
      type_or_value: '"tls"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*ssl'
        type: SSL
      item_type: struct
      name: tls_conn
      pos:
        line_end: 41
        line_start: 39
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_BIO_OPAQUE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SSL_state
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.h
      type_or_value: SSL_get_state
    - item_type: preproc_def
      name: SSL_ST_OK
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.h
      type_or_value: TLS_ST_OK
    structs:
    - fields:
      - name: '*ctx'
        type: SSL_CTX
      - name: '*cert'
        type: X509
      - name: '*pass'
        type: char
      item_type: struct
      name: tls
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls.h
    typedefs: []
    union: []
- function_names:
  - destructor
  - bio_create
  - bio_destroy
  - bio_write
  - bio_ctrl
  - bio_method_tcp
  - tls_connect
  - tls_accept
  - estab_handler
  - recv_handler
  - send_handler
  - tls_start_tcp
  source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
      type_or_value: '"tls"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*ssl'
        type: SSL
      - name: '*sbio_out'
        type: BIO
      - name: '*sbio_in'
        type: BIO
      - name: '*th'
        type: struct tcp_helper
      - name: '*tcp'
        type: struct tcp_conn
      - name: active
        type: bool
      - name: up
        type: bool
      item_type: struct
      name: tls_conn
      pos:
        line_end: 38
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/tls/openssl/tls_tcp.c
    typedefs: []
    union: []
- function_names:
  - hash_destructor
  - hash_alloc
  - hash_append
  - hash_unlink
  - hash_lookup
  - hash_apply
  - hash_list
  - hash_bsize
  - hash_flush
  - hash_clear
  - hash_valid_size
  source_file: /src/rtpproxy/external/libre/src/hash/hash.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*bucket'
        type: struct list
      - name: bsize
        type: uint32_t
      item_type: struct
      name: hash
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/hash/hash.c
    typedefs: []
    union: []
- function_names:
  - hash_joaat
  - hash_joaat_ci
  - hash_joaat_str
  - hash_joaat_str_ci
  - hash_joaat_pl
  - hash_joaat_pl_ci
  - hashsize
  - hashmask
  - rot
  - mix
  - final
  - hashlittle
  - hash_fast
  - hash_fast_str
  source_file: /src/rtpproxy/external/libre/src/hash/func.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*ptr'
        type: void
      - name: i
        type: size_t
      item_type: union
      name: u
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/rtpproxy/external/libre/src/hash/func.c
- function_names:
  - is_mark
  - is_unreserved
  - is_user_unreserved
  - is_hnv_unreserved
  - is_user
  - is_password
  - is_param_unreserved
  - is_paramchar
  - is_hvalue
  - comp_escape
  - comp_unescape
  - uri_user_escape
  - uri_user_unescape
  - uri_password_escape
  - uri_password_unescape
  - uri_param_escape
  - uri_param_unescape
  - uri_header_escape
  - uri_header_unescape
  source_file: /src/rtpproxy/external/libre/src/uri/uric.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/uri/uric.c
      type_or_value: '"uric"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/uri/uric.c
      type_or_value: '5'
    structs: []
    typedefs:
    - item_type: typedef
      name: (esc_h)(char c)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/uri/uric.c
      type: bool
    union: []
- function_names:
  - uri_encode
  - uri_decode_hostport
  - uri_decode
  - uri_param_get
  - uri_params_apply
  - uri_header_get
  - uri_headers_apply
  source_file: /src/rtpproxy/external/libre/src/uri/uri.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_alloc
  - aes_set_iv
  - aes_encr
  - aes_decr
  - aes_get_authtag
  - aes_authenticate
  source_file: /src/rtpproxy/external/libre/src/aes/stub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - aes_alloc
  - aes_set_iv
  - aes_encr
  - aes_decr
  - aes_get_authtag
  - aes_authenticate
  source_file: /src/rtpproxy/external/libre/src/aes/apple/aes.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cryptor
        type: CCCryptorRef
      - name: key[64]
        type: uint8_t
      - name: key_bytes
        type: size_t
      item_type: struct
      name: aes
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/aes/apple/aes.c
    typedefs: []
    union: []
- function_names:
  - aes_cipher
  - set_crypt_dir
  - destructor
  - aes_alloc
  - aes_set_iv
  - aes_encr
  - aes_decr
  - aes_get_authtag
  - aes_authenticate
  source_file: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: EVP_CIPHER_CTX
      - name: mode
        type: enum aes_mode
      - name: encr
        type: bool
      item_type: struct
      name: aes
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/aes/openssl/aes.c
    typedefs: []
    union: []
- function_names:
  - rr_destructor
  - dns_rr_alloc
  - dns_rr_encode
  - dns_rr_decode
  - dns_rr_cmp
  - dns_rr_typename
  - dns_rr_classname
  - dns_rr_print
  source_file: /src/rtpproxy/external/libre/src/dns/rr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - dname_append
  - lookup_handler
  - dname_lookup
  - dname_encode_pointer
  - dns_dname_encode
  - dns_dname_decode
  source_file: /src/rtpproxy/external/libre/src/dns/dname.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMP_MASK
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/dns/dname.c
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: OFFSET_MASK
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/dns/dname.c
      type_or_value: '0x3fff'
    - item_type: preproc_def
      name: COMP_LOOP
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/dns/dname.c
      type_or_value: '255'
    structs:
    - fields:
      - name: he
        type: struct le
      - name: pos
        type: size_t
      - name: '*name'
        type: char
      item_type: struct
      name: dname
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/dns/dname.c
    typedefs: []
    union: []
- function_names:
  - sidx
  - std_sort_handler
  - addr_sort_handler
  - dns_rrlist_sort
  - dns_rrlist_sort_addr
  - rrlist_apply
  - dns_rrlist_apply
  - dns_rrlist_apply2
  - find_handler
  - dns_rrlist_find
  source_file: /src/rtpproxy/external/libre/src/dns/rrlist.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: uint16_t
      - name: key
        type: uint32_t
      item_type: struct
      name: sort
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/dns/rrlist.c
    typedefs: []
    union: []
- function_names:
  - dns_cstr_encode
  - dns_cstr_decode
  source_file: /src/rtpproxy/external/libre/src/dns/cstr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/dns/dns.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rr_unlink_handler
  - query_abort
  - query_destructor
  - query_handler
  - query_close_handler
  - query_cmp_handler
  - reply_recv
  - udp_recv_handler
  - tcp_recv_handler
  - tcpconn_timeout_handler
  - tcp_estab_handler
  - tcp_close_handler
  - tcpconn_cmp_handler
  - tcpconn_fail_handler
  - tcpconn_close
  - tcpconn_destructor
  - tcpconn_alloc
  - send_tcp
  - tcp_timeout_handler
  - send_udp
  - udp_timeout_handler
  - query
  - dnsc_query
  - dnsc_query_srv
  - dnsc_notify
  - dnsc_destructor
  - dnsc_alloc
  - dnsc_srv_set
  source_file: /src/rtpproxy/external/libre/src/dns/client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/dns/client.c
      type_or_value: '"dnsc"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/dns/client.c
      type_or_value: '5'
    structs:
    - fields:
      - name: le
        type: struct le
      - name: ql
        type: struct list
      - name: tmr
        type: struct tmr
      - name: srv
        type: struct sa
      - name: '*conn'
        type: struct tcp_conn
      - name: '*mb'
        type: struct mbuf
      - name: connected
        type: bool
      - name: flen
        type: uint16_t
      - name: '*dnsc'
        type: struct dnsc
      item_type: struct
      name: tcpconn
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/rtpproxy/external/libre/src/dns/client.c
    - fields:
      - name: le
        type: struct le
      - name: le_tc
        type: struct le
      - name: tmr
        type: struct tmr
      - name: mb
        type: struct mbuf
      - name: rrlv[3]
        type: struct list
      - name: '*name'
        type: char
      - name: '*srvv'
        type: struct sa
      - name: '*srvc'
        type: uint32_t
      - name: '*tc'
        type: struct tcpconn
      - name: '*dnsc'
        type: struct dnsc
      - name: '**qp'
        type: struct dns_query
      - name: ntx
        type: uint32_t
      - name: id
        type: uint16_t
      - name: type
        type: uint16_t
      - name: dnsclass
        type: uint16_t
      - name: opcode
        type: uint8_t
      - name: '*qh'
        type: dns_query_h
      - name: '*arg'
        type: void
      item_type: struct
      name: dns_query
      pos:
        line_end: 67
        line_start: 48
        source_file: /src/rtpproxy/external/libre/src/dns/client.c
    - fields:
      - name: hdr
        type: struct dnshdr
      - name: '*name'
        type: char
      - name: type
        type: uint16_t
      - name: dnsclass
        type: uint16_t
      item_type: struct
      name: dnsquery
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/rtpproxy/external/libre/src/dns/client.c
    - fields:
      - name: conf
        type: struct dnsc_conf
      - name: '*ht_query'
        type: struct hash
      - name: '*ht_tcpconn'
        type: struct hash
      - name: '*us'
        type: struct udp_sock
      - name: srvv[SRVC_MAX]
        type: struct sa
      - name: srvc
        type: uint32_t
      item_type: struct
      name: dnsc
      pos:
        line_end: 85
        line_start: 78
        source_file: /src/rtpproxy/external/libre/src/dns/client.c
    typedefs: []
    union: []
- function_names:
  - dns_hdr_encode
  - dns_hdr_decode
  - dns_hdr_opcodename
  - dns_hdr_rcodename
  source_file: /src/rtpproxy/external/libre/src/dns/hdr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_resolv_conf
  - get_android_dns
  - dns_srv_get
  source_file: /src/rtpproxy/external/libre/src/dns/ns.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/dns/ns.c
      type_or_value: '"ns"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/dns/ns.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_resolv_dns
  source_file: /src/rtpproxy/external/libre/src/dns/res.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/dns/res.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/dns/res.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_windns
  source_file: /src/rtpproxy/external/libre/src/dns/win32/srv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/dns/win32/srv.c
      type_or_value: '"win32/srv"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/dns/win32/srv.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: proc
        type: FARPROC
      item_type: union
      name: u
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/dns/win32/srv.c
- function_names:
  - get_darwin_dns
  source_file: /src/rtpproxy/external/libre/src/dns/darwin/srv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - media_alloc
  - sdp_media_add
  - sdp_media_radd
  - sdp_media_rreset
  - sdp_media_proto_cmp
  - sdp_media_find
  - sdp_media_align_formats
  - sdp_media_set_alt_protos
  - sdp_media_set_encode_handler
  - sdp_media_set_fmt_ignore
  - sdp_media_set_disabled
  - sdp_media_set_lport
  - sdp_media_set_laddr
  - sdp_media_set_lbandwidth
  - sdp_media_set_lport_rtcp
  - sdp_media_set_laddr_rtcp
  - sdp_media_set_ldir
  - sdp_media_set_lattr
  - sdp_media_del_lattr
  - sdp_media_proto
  - sdp_media_rport
  - sdp_media_raddr
  - sdp_media_laddr
  - sdp_media_raddr_rtcp
  - sdp_media_rbandwidth
  - sdp_media_ldir
  - sdp_media_rdir
  - sdp_media_dir
  - sdp_media_lformat
  - sdp_media_rformat
  - sdp_media_format
  - sdp_media_format_apply
  - sdp_media_format_lst
  - sdp_media_rattr
  - sdp_media_session_rattr
  - sdp_media_rattr_apply
  - sdp_media_name
  - sdp_media_debug
  source_file: /src/rtpproxy/external/libre/src/sdp/media.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - sdp_session_alloc
  - sdp_session_rreset
  - sdp_session_set_laddr
  - sdp_session_set_lbandwidth
  - sdp_session_set_lattr
  - sdp_session_del_lattr
  - sdp_session_lbandwidth
  - sdp_session_rbandwidth
  - sdp_session_rattr
  - sdp_session_rattr_apply
  - sdp_session_medial
  - sdp_session_debug
  source_file: /src/rtpproxy/external/libre/src/sdp/session.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sdp_extmap_decode
  source_file: /src/rtpproxy/external/libre/src/sdp/util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - attr_decode_fmtp
  - attr_decode_rtcp
  - attr_decode_rtpmap
  - attr_decode
  - bandwidth_decode
  - conn_decode
  - media_decode
  - version_decode
  - sdp_decode
  - media_encode
  - sdp_encode
  source_file: /src/rtpproxy/external/libre/src/sdp/msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sdp_dir_name
  - sdp_bandwidth_name
  source_file: /src/rtpproxy/external/libre/src/sdp/str.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/sdp/sdp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lmedial
        type: struct list
      - name: medial
        type: struct list
      - name: lattrl
        type: struct list
      - name: rattrl
        type: struct list
      - name: laddr
        type: struct sa
      - name: raddr
        type: struct sa
      - name: lbwv[SDP_BANDWIDTH_MAX]
        type: int32_t
      - name: rbwv[SDP_BANDWIDTH_MAX]
        type: int32_t
      - name: id
        type: uint32_t
      - name: ver
        type: uint32_t
      - name: rdir
        type: enum sdp_dir
      item_type: struct
      name: sdp_session
      pos:
        line_end: 25
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/sdp/sdp.h
    - fields:
      - name: le
        type: struct le
      - name: lfmtl
        type: struct list
      - name: rfmtl
        type: struct list
      - name: lattrl
        type: struct list
      - name: rattrl
        type: struct list
      - name: laddr
        type: struct sa
      - name: raddr
        type: struct sa
      - name: laddr_rtcp
        type: struct sa
      - name: raddr_rtcp
        type: struct sa
      - name: lbwv[SDP_BANDWIDTH_MAX]
        type: int32_t
      - name: rbwv[SDP_BANDWIDTH_MAX]
        type: int32_t
      - name: '*name'
        type: char
      - name: '*proto'
        type: char
      - name: '*protov[8]'
        type: char
      - name: '*uproto'
        type: char
      - name: '*ench'
        type: sdp_media_enc_h
      - name: '*arg'
        type: void
      - name: ldir
        type: enum sdp_dir
      - name: rdir
        type: enum sdp_dir
      - name: fmt_ignore
        type: bool
      - name: disabled
        type: bool
      - name: dynpt
        type: int
      item_type: struct
      name: sdp_media
      pos:
        line_end: 50
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/sdp/sdp.h
    typedefs: []
    union: []
- function_names:
  - destructor
  - sdp_attr_add
  - sdp_attr_addv
  - sdp_attr_del
  - sdp_attr_apply
  - sdp_attr_print
  - sdp_attr_debug
  source_file: /src/rtpproxy/external/libre/src/sdp/attr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: '*name'
        type: char
      - name: '*val'
        type: char
      item_type: struct
      name: sdp_attr
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/sdp/attr.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - sdp_format_add
  - sdp_format_radd
  - sdp_format_find
  - sdp_format_set_params
  - sdp_format_cmp
  - sdp_format_debug
  source_file: /src/rtpproxy/external/libre/src/sdp/format.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - list_init
  - list_flush
  - list_clear
  - list_append
  - list_prepend
  - list_insert_before
  - list_insert_after
  - list_unlink
  - list_sort
  - list_apply
  - list_head
  - list_tail
  - list_count
  source_file: /src/rtpproxy/external/libre/src/list/list.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rtpproxy/external/libre/src/list/list.c
      type_or_value: '"list"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/list/list.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tmr_handler
  - bfcp_reply
  - bfcp_edreply
  - bfcp_ereply
  source_file: /src/rtpproxy/external/libre/src/bfcp/reply.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - strans_cmp
  - udp_recv_handler
  - bfcp_listen
  - bfcp_send
  - bfcp_sock
  source_file: /src/rtpproxy/external/libre/src/bfcp/conn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - hdr_encode
  - hdr_decode
  - bfcp_msg_vencode
  - bfcp_msg_encode
  - bfcp_msg_decode
  - bfcp_msg_attr
  - bfcp_msg_attr_apply
  - bfcp_msg_print
  - bfcp_prim_name
  source_file: /src/rtpproxy/external/libre/src/bfcp/msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/bfcp/bfcp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prim
        type: enum bfcp_prim
      - name: confid
        type: uint32_t
      - name: tid
        type: uint16_t
      - name: userid
        type: uint16_t
      item_type: struct
      name: bfcp_strans
      pos:
        line_end: 11
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/bfcp/bfcp.h
    - fields:
      - name: st
        type: struct bfcp_strans
      - name: ctransl
        type: struct list
      - name: tmr1
        type: struct tmr
      - name: tmr2
        type: struct tmr
      - name: '*us'
        type: struct udp_sock
      - name: '*mb'
        type: struct mbuf
      - name: '*recvh'
        type: bfcp_recv_h
      - name: '*arg'
        type: void
      - name: tp
        type: enum bfcp_transp
      - name: txc
        type: unsigned
      - name: tid
        type: uint16_t
      item_type: struct
      name: bfcp_conn
      pos:
        line_end: 25
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/bfcp/bfcp.h
    typedefs: []
    union: []
- function_names:
  - destructor
  - attr_encode
  - bfcp_attrs_vencode
  - bfcp_attrs_encode
  - attr_decode
  - bfcp_attrs_decode
  - bfcp_attrs_find
  - bfcp_attrs_apply
  - bfcp_attr_subattr
  - bfcp_attr_subattr_apply
  - bfcp_attr_print
  - bfcp_attrs_print
  - bfcp_attr_name
  - bfcp_reqstatus_name
  - bfcp_errcode_name
  source_file: /src/rtpproxy/external/libre/src/bfcp/attr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_resp_handler
  - destructor
  - dispatch
  - tmr_handler
  - bfcp_handle_response
  - bfcp_vrequest
  - bfcp_request
  - bfcp_notify
  source_file: /src/rtpproxy/external/libre/src/bfcp/request.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: dst
        type: struct sa
      - name: '*mb'
        type: struct mbuf
      - name: '*resph'
        type: bfcp_resp_h
      - name: '*arg'
        type: void
      - name: confid
        type: uint32_t
      - name: userid
        type: uint16_t
      - name: tid
        type: uint16_t
      item_type: struct
      name: bfcp_ctrans
      pos:
        line_end: 32
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/bfcp/request.c
    typedefs: []
    union: []
- function_names:
  - rtcp_quick_send
  - rtcp_send_app
  - rtcp_send_fir
  - rtcp_send_nack
  - rtcp_send_pli
  - rtcp_type_name
  - rtcp_sdes_name
  - rtcp_msg_print
  source_file: /src/rtpproxy/external/libre/src/rtp/rtcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtcp_destructor
  - rtcp_hdr_encode
  - rtcp_hdr_decode
  - rtcp_vencode
  - rtcp_encode
  - rtcp_decode
  source_file: /src/rtpproxy/external/libre/src/rtp/pkt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/rtp/pkt.c
      type_or_value: '"rtcp_pkt"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/rtp/pkt.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtcp_rr_alloc
  - rtcp_rr_encode
  - rtcp_rr_decode
  source_file: /src/rtpproxy/external/libre/src/rtp/rr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtp_hdr_encode
  - rtp_hdr_decode
  - destructor
  - rtcp_recv_handler
  - udp_recv_handler
  - udp_range_listen
  - rtp_alloc
  - rtp_listen
  - rtp_encode
  - rtp_decode
  - rtp_send
  - rtp_sock
  - rtcp_sock
  - rtp_local
  - rtp_sess_ssrc
  - rtp_rtcp_sess
  - rtcp_start
  - rtcp_enable_mux
  - rtcp_send
  - rtp_debug
  source_file: /src/rtpproxy/external/libre/src/rtp/rtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/rtp/rtp.c
      type_or_value: '"rtp"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/rtp/rtp.c
      type_or_value: '5'
    structs:
    - fields:
      - name: enc
        type: "struct {\n\t\tuint16_t seq;   /**< Sequence number       */\n\t\tuint32_t
          ssrc;  /**< Synchronizing source  */\n\t}"
      - name: proto
        type: int
      - name: '*sock_rtp'
        type: void
      - name: '*sock_rtcp'
        type: void
      - name: local
        type: struct sa
      - name: rtcp_peer
        type: struct sa
      - name: '*recvh'
        type: rtp_recv_h
      - name: '*rtcph'
        type: rtcp_recv_h
      - name: '*arg'
        type: void
      - name: '*rtcp'
        type: struct rtcp_sess
      - name: rtcp_mux
        type: bool
      item_type: struct
      name: rtp_sock
      pos:
        line_end: 41
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/rtp/rtp.c
    typedefs: []
    union: []
- function_names:
  - sess_destructor
  - get_member
  - calc_rtt
  - handle_rr_block
  - handle_incoming_rr
  - handle_incoming_sr
  - handle_incoming_bye
  - rtcp_handler
  - rtcp_sess_alloc
  - rtcp_set_srate
  - rtcp_set_srate_tx
  - rtcp_set_srate_rx
  - rtcp_enable
  - calc_lsr
  - calc_dlsr
  - sender_apply_handler
  - encode_handler
  - mk_sr
  - sdes_encode_handler
  - mk_sdes
  - send_rtcp_report
  - send_bye_packet
  - timeout
  - schedule
  - rtcp_sess_tx_rtp
  - rtcp_sess_rx_rtp
  - rtcp_stats
  - debug_handler
  - rtcp_debug
  source_file: /src/rtpproxy/external/libre/src/rtp/sess.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/rtp/sess.c
      type_or_value: '"rtcp_sess"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/rtp/sess.c
      type_or_value: '5'
    structs:
    - fields:
      - name: psent
        type: uint32_t
      - name: osent
        type: uint32_t
      - name: jfs_ref
        type: uint64_t
      - name: ts_ref
        type: uint32_t
      - name: ts_synced
        type: bool
      item_type: struct
      name: txstat
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/rtpproxy/external/libre/src/rtp/sess.c
    - fields:
      - name: '*rs'
        type: struct rtp_sock
      - name: '*members'
        type: struct hash
      - name: tmr
        type: struct tmr
      - name: '*cname'
        type: char
      - name: memberc
        type: uint32_t
      - name: senderc
        type: uint32_t
      - name: srate_tx
        type: uint32_t
      - name: srate_rx
        type: uint32_t
      - name: '*lock'
        type: struct lock
      - name: txstat
        type: struct txstat
      item_type: struct
      name: rtcp_sess
      pos:
        line_end: 60
        line_start: 47
        source_file: /src/rtpproxy/external/libre/src/rtp/sess.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - member_add
  - hash_cmp_handler
  - member_find
  source_file: /src/rtpproxy/external/libre/src/rtp/member.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtcp_rtpfb_gnack_encode
  - rtcp_psfb_sli_encode
  - rtcp_rtpfb_decode
  - rtcp_psfb_decode
  source_file: /src/rtpproxy/external/libre/src/rtp/fb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/rtp/fb.c
      type_or_value: '"rtcp_pb"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/rtp/fb.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - unix2ntp
  - ntp2unix
  - ntp_time_get
  - ntp_compact
  - ntp_compact2us
  source_file: /src/rtpproxy/external/libre/src/rtp/ntp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNIX_NTP_OFFSET
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/rtp/ntp.c
      type_or_value: '0x83aa7e80'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: ns100
        type: long long
      - name: ft
        type: FILETIME
      item_type: union
      name: now
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/rtpproxy/external/libre/src/rtp/ntp.c
- function_names:
  - source_init_seq
  - source_update_seq
  - source_calc_jitter
  - source_calc_lost
  - source_calc_fraction_lost
  source_file: /src/rtpproxy/external/libre/src/rtp/source.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/rtp/rtcp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hi
        type: uint32_t
      - name: lo
        type: uint32_t
      item_type: struct
      name: ntp_time
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/rtp/rtcp.h
    - fields:
      - name: rtp_peer
        type: struct sa
      - name: max_seq
        type: uint16_t
      - name: cycles
        type: uint32_t
      - name: base_seq
        type: uint32_t
      - name: bad_seq
        type: uint32_t
      - name: probation
        type: uint32_t
      - name: received
        type: uint32_t
      - name: expected_prior
        type: uint32_t
      - name: received_prior
        type: uint32_t
      - name: transit
        type: int
      - name: jitter
        type: uint32_t
      - name: rtp_rx_bytes
        type: size_t
      - name: sr_recv
        type: uint64_t
      - name: last_sr
        type: struct ntp_time
      - name: rtp_ts
        type: uint32_t
      - name: psent
        type: uint32_t
      - name: osent
        type: uint32_t
      item_type: struct
      name: rtp_source
      pos:
        line_end: 48
        line_start: 30
        source_file: /src/rtpproxy/external/libre/src/rtp/rtcp.h
    - fields:
      - name: le
        type: struct le
      - name: '*s'
        type: struct rtp_source
      - name: src
        type: uint32_t
      - name: cum_lost
        type: int
      - name: jit
        type: uint32_t
      - name: rtt
        type: uint32_t
      item_type: struct
      name: rtp_member
      pos:
        line_end: 58
        line_start: 51
        source_file: /src/rtpproxy/external/libre/src/rtp/rtcp.h
    typedefs:
    - item_type: typedef
      name: (rtcp_encode_h)(struct mbuf *mb, void *arg)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/rtpproxy/external/libre/src/rtp/rtcp.h
      type: int
    union: []
- function_names:
  - rtcp_sdes_encode
  - rtcp_sdes_decode
  source_file: /src/rtpproxy/external/libre/src/rtp/sdes.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/rtp/sdes.c
      type_or_value: '"rtcp_sdes"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/rtp/sdes.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mod_init
  - mod_close
  - mod_destructor
  - mod_find
  - mod_load
  - mod_add
  - mod_export
  - mod_list
  - mod_debug
  source_file: /src/rtpproxy/external/libre/src/mod/mod.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/mod/mod.c
      type_or_value: '"mod"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/mod/mod.c
      type_or_value: '5'
    structs:
    - fields:
      - name: le
        type: struct le
      - name: '*h'
        type: void
      - name: '*me'
        type: struct mod_export
      item_type: struct
      name: mod
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/mod/mod.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/mod/mod_internal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _mod_open
  - _mod_sym
  - _mod_close
  source_file: /src/rtpproxy/external/libre/src/mod/dl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/mod/dl.c
      type_or_value: '"dl"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/mod/dl.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _mod_open
  - _mod_sym
  - _mod_close
  source_file: /src/rtpproxy/external/libre/src/mod/win32/dll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rtpproxy/external/libre/src/mod/win32/dll.c
      type_or_value: '"dll"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/mod/win32/dll.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: sym
        type: FARPROC
      - name: '*ptr'
        type: void
      item_type: union
      name: u
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/rtpproxy/external/libre/src/mod/win32/dll.c
- function_names:
  - destructor
  - event_handler
  - mqueue_alloc
  - mqueue_push
  source_file: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAGIC
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
      type_or_value: '0x14553399'
    - item_type: preproc_def
      name: close
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
      type_or_value: closesocket
    structs:
    - fields:
      - name: pfd[2]
        type: int
      - name: '*h'
        type: mqueue_h
      - name: '*arg'
        type: void
      item_type: struct
      name: mqueue
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
    - fields:
      - name: '*data'
        type: void
      - name: magic
        type: uint32_t
      - name: id
        type: int
      item_type: struct
      name: msg
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/rtpproxy/external/libre/src/mqueue/mqueue.c
    typedefs: []
    union: []
- function_names:
  - pipe_read
  - pipe_write
  source_file: /src/rtpproxy/external/libre/src/mqueue/mqueue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pipe
  - pipe_read
  - pipe_write
  source_file: /src/rtpproxy/external/libre/src/mqueue/win32/pipe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_handler
  - destructor
  - failwait
  - tmr_handler
  - keepalive_handler
  - start_outbound
  - contact_handler
  - response_handler
  - send_handler
  - request
  - sipreg_register
  - sipreg_laddr
  source_file: /src/rtpproxy/external/libre/src/sipreg/reg.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ls
        type: struct sip_loopstate
      - name: laddr
        type: struct sa
      - name: tmr
        type: struct tmr
      - name: '*sip'
        type: struct sip
      - name: '*ka'
        type: struct sip_keepalive
      - name: '*req'
        type: struct sip_request
      - name: '*dlg'
        type: struct sip_dialog
      - name: '*auth'
        type: struct sip_auth
      - name: '*hdrs'
        type: struct mbuf
      - name: '*cuser'
        type: char
      - name: '*resph'
        type: sip_resp_h
      - name: '*arg'
        type: void
      - name: expires
        type: uint32_t
      - name: failc
        type: uint32_t
      - name: wait
        type: uint32_t
      - name: tp
        type: enum sip_transp
      - name: registered
        type: bool
      - name: terminated
        type: bool
      - name: '*params'
        type: char
      - name: regid
        type: int
      item_type: struct
      name: sipreg
      pos:
        line_end: 47
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/sipreg/reg.c
    typedefs: []
    union: []
- function_names:
  - payload_encode
  - payload_decode
  - destructor
  - telev_alloc
  - telev_set_srate
  - telev_send
  - telev_recv
  - telev_poll
  - telev_digit2code
  - telev_code2digit
  source_file: /src/rtpproxy/external/libre/src/telev/telev.c
  types:
    enum:
    - enumerators:
      - name: IDLE
      - name: ENDING
      - name: SENDING
      item_type: enum
      name: state
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/rtpproxy/external/libre/src/telev/telev.c
    preproc_defs: []
    structs:
    - fields:
      - name: event
        type: uint8_t
      - name: end
        type: bool
      - name: vol
        type: uint8_t
      - name: dur
        type: uint16_t
      item_type: struct
      name: telev_fmt
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/rtpproxy/external/libre/src/telev/telev.c
    - fields:
      - name: '*mb'
        type: struct mbuf
      - name: ptime
        type: uint32_t
      - name: pdur
        type: uint16_t
      - name: state
        type: enum state
      - name: event
        type: int
      - name: dur
        type: uint16_t
      - name: txc
        type: uint32_t
      - name: rx_event
        type: int
      - name: rx_end
        type: bool
      item_type: struct
      name: telev
      pos:
        line_end: 84
        line_start: 71
        source_file: /src/rtpproxy/external/libre/src/telev/telev.c
    typedefs: []
    union: []
- function_names:
  - stun_response_handler
  - genalg_destructor
  - nat_genalg_alloc
  - nat_genalg_start
  source_file: /src/rtpproxy/external/libre/src/natbd/genalg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/natbd/genalg.c
      type_or_value: '"natbd_genalg"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/natbd/genalg.c
      type_or_value: '7'
    structs:
    - fields:
      - name: '*stun'
        type: struct stun
      - name: srv
        type: struct sa
      - name: proto
        type: int
      - name: '*h'
        type: nat_genalg_h
      - name: '*arg'
        type: void
      item_type: struct
      name: nat_genalg
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/natbd/genalg.c
    typedefs: []
    union: []
- function_names:
  - hairpinning_destructor
  - msg_recv
  - udp_recv_handler
  - stun_response_handler2
  - hairpin_send
  - tcp_recv_handler2
  - tcp_close_handler2
  - stun_response_handler
  - mapped_send
  - tcp_conn_handler
  - tcp_estab_handler
  - tcp_recv_handler
  - tcp_close_handler
  - nat_hairpinning_alloc
  - nat_hairpinning_start
  source_file: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
      type_or_value: '"natbd_hairpinning"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*stun'
        type: struct stun
      - name: proto
        type: int
      - name: srv
        type: struct sa
      - name: '*us'
        type: struct udp_sock
      - name: '*tc'
        type: struct tcp_conn
      - name: '*ts'
        type: struct tcp_sock
      - name: '*tc2'
        type: struct tcp_conn
      - name: '*hph'
        type: nat_hairpinning_h
      - name: '*arg'
        type: void
      item_type: struct
      name: nat_hairpinning
      pos:
        line_end: 47
        line_start: 37
        source_file: /src/rtpproxy/external/libre/src/natbd/hairpinning.c
    typedefs: []
    union: []
- function_names:
  - msg_recv
  - udp_recv_handler_x
  - stun_response_handler_x
  - udp_recv_handler_y
  - stun_response_handler_y
  - start_test
  - timeout
  - binding_ok
  - binding_expired
  - lifetime_destructor
  - nat_lifetime_alloc
  - nat_lifetime_start
  source_file: /src/rtpproxy/external/libre/src/natbd/lifetime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/natbd/lifetime.c
      type_or_value: '"natbd_lifetime"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/natbd/lifetime.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*stun'
        type: struct stun
      - name: '*ctx'
        type: struct stun_ctrans
      - name: '*cty'
        type: struct stun_ctrans
      - name: '*us_x'
        type: struct udp_sock
      - name: '*us_y'
        type: struct udp_sock
      - name: srv
        type: struct sa
      - name: map
        type: struct sa
      - name: tmr
        type: struct tmr
      - name: probing
        type: bool
      - name: interval
        type: struct nat_lifetime_interval
      - name: '*lh'
        type: nat_lifetime_h
      - name: '*arg'
        type: void
      item_type: struct
      name: nat_lifetime
      pos:
        line_end: 47
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/natbd/lifetime.c
    typedefs: []
    union: []
- function_names:
  - stun_response_handler
  - filtering_destructor
  - nat_filtering_alloc
  - nat_filtering_start
  source_file: /src/rtpproxy/external/libre/src/natbd/filtering.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/natbd/filtering.c
      type_or_value: '"natbd_filtering"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/natbd/filtering.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*stun'
        type: struct stun
      - name: srv
        type: struct sa
      - name: test_phase
        type: int
      - name: '*fh'
        type: nat_filtering_h
      - name: '*arg'
        type: void
      item_type: struct
      name: nat_filtering
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/rtpproxy/external/libre/src/natbd/filtering.c
    typedefs: []
    union: []
- function_names:
  - stun_response_handler
  - mapping_send
  - udp_recv_handler
  - mapping_destructor
  - tcp_estab_handler
  - tcp_recv_handler
  - tcp_close_handler
  - nat_mapping_alloc
  - nat_mapping_start
  source_file: /src/rtpproxy/external/libre/src/natbd/mapping.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/natbd/mapping.c
      type_or_value: '"natbd_mapping"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/natbd/mapping.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*stun'
        type: struct stun
      - name: '*us'
        type: struct udp_sock
      - name: '*tc'
        type: struct tcp_conn
      - name: laddr
        type: struct sa
      - name: map[3]
        type: struct sa
      - name: srv
        type: struct sa
      - name: '*mh'
        type: nat_mapping_h
      - name: '*arg'
        type: void
      - name: proto
        type: int
      - name: test_phase
        type: uint32_t
      - name: '*tcv[3]'
        type: struct tcp_conn
      item_type: struct
      name: nat_mapping
      pos:
        line_end: 58
        line_start: 46
        source_file: /src/rtpproxy/external/libre/src/natbd/mapping.c
    typedefs: []
    union: []
- function_names:
  - nat_type_str
  source_file: /src/rtpproxy/external/libre/src/natbd/natstr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hmac_sha1
  source_file: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA_BLOCKSIZE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/hmac/hmac_sha1.c
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - hmac_create
  - hmac_digest
  source_file: /src/rtpproxy/external/libre/src/hmac/hmac.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: key[SHA_DIGEST_LENGTH]
        type: uint8_t
      - name: key_len
        type: size_t
      item_type: struct
      name: hmac
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/hmac/hmac.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - hmac_create
  - hmac_digest
  source_file: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ctx
        type: CCHmacContext
      - name: key[KEY_SIZE]
        type: uint8_t
      - name: key_len
        type: size_t
      - name: algo
        type: CCHmacAlgorithm
      item_type: struct
      name: hmac
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/hmac/apple/hmac.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - hmac_create
  - hmac_digest
  source_file: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ctx'
        type: HMAC_CTX
      item_type: struct
      name: hmac
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/hmac/openssl/hmac.c
    typedefs: []
    union: []
- function_names:
  - STAT_ADD
  - STAT_INC
  - seq_less
  - frame_alloc
  - frame_deref
  - jbuf_destructor
  - jbuf_alloc
  - jbuf_put
  - jbuf_get
  - jbuf_flush
  - jbuf_stats
  - jbuf_debug
  source_file: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
      type_or_value: '"jbuf"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
      type_or_value: '5'
    - item_type: preproc_def
      name: JBUF_STAT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
      type_or_value: '1  '
    structs:
    - fields:
      - name: le
        type: struct le
      - name: hdr
        type: struct rtp_header
      - name: '*mem'
        type: void
      item_type: struct
      name: frame
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    - fields:
      - name: pooll
        type: struct list
      - name: framel
        type: struct list
      - name: n
        type: uint32_t
      - name: min
        type: uint32_t
      - name: max
        type: uint32_t
      - name: seq_put
        type: uint16_t
      - name: running
        type: bool
      item_type: struct
      name: jbuf
      pos:
        line_end: 61
        line_start: 48
        source_file: /src/rtpproxy/external/libre/src/jbuf/jbuf.c
    typedefs: []
    union: []
- function_names:
  - net_proto2name
  - net_af2name
  source_file: /src/rtpproxy/external/libre/src/net/netstr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - net_getifaddrs
  source_file: /src/rtpproxy/external/libre/src/net/ifaddrs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_MISC
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/net/ifaddrs.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/net/ifaddrs.c
      type_or_value: '"ifaddrs"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/net/ifaddrs.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rt_debug_handler
  - net_rt_debug
  - rt_default_get_handler
  - net_rt_default_get
  - net_rt_list
  source_file: /src/rtpproxy/external/libre/src/net/rt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/net/rt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/net/rt.c
      type_or_value: '1'
    structs:
    - fields:
      - name: af
        type: int
      - name: '*ifname'
        type: char
      - name: size
        type: size_t
      - name: prefix
        type: int
      item_type: struct
      name: net_rt
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/net/rt.c
    typedefs: []
    union: []
- function_names:
  - net_sockopt_blocking_set
  - net_sockopt_reuse_set
  source_file: /src/rtpproxy/external/libre/src/net/sockopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_MISC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/net/sockopt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/net/sockopt.c
      type_or_value: '"sockopt"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/net/sockopt.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BUF_CAST
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/net/sockopt.c
      type_or_value: (char *)
    structs: []
    typedefs: []
    union: []
- function_names:
  - if_getname_handler
  - net_if_getname
  - if_getaddr_handler
  - net_if_getaddr
  - if_debug_handler
  - net_if_debug
  - linklocal_handler
  - net_if_getlinklocal
  source_file: /src/rtpproxy/external/libre/src/net/if.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/net/if.c
      type_or_value: '"netif"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/net/if.c
      type_or_value: '5'
    structs:
    - fields:
      - name: af
        type: int
      - name: '*ifname'
        type: char
      - name: '*ip'
        type: struct sa
      - name: sz
        type: size_t
      - name: found
        type: bool
      item_type: struct
      name: ifentry
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/net/if.c
    typedefs: []
    union: []
- function_names:
  - wsa_init
  - net_sock_init
  - net_sock_close
  source_file: /src/rtpproxy/external/libre/src/net/sock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/net/sock.c
      type_or_value: '"netsock"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/net/sock.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - net_hostaddr
  - net_default_source_addr_get
  - net_if_apply
  - net_rt_handler
  - net_default_gateway_get
  source_file: /src/rtpproxy/external/libre/src/net/net.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/net/net.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/net/net.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_BSD
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rtpproxy/external/libre/src/net/net.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/net/net.c
      type_or_value: '"net"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/net/net.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - if_list_gaa
  - if_list_gai
  - net_if_list
  source_file: /src/rtpproxy/external/libre/src/net/win32/wif.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/net/win32/wif.c
      type_or_value: '"wif"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/net/win32/wif.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: proc
        type: FARPROC
      item_type: union
      name: u
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/rtpproxy/external/libre/src/net/win32/wif.c
- function_names:
  - ROUNDUP
  - net_rt_list
  source_file: /src/rtpproxy/external/libre/src/net/bsd/brt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RT_MSGHDR_ALIGNMENT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/net/bsd/brt.c
      type_or_value: sizeof(uint32_t)
    - item_type: preproc_def
      name: RT_MSGHDR_ALIGNMENT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/net/bsd/brt.c
      type_or_value: sizeof(unsigned long)
    structs: []
    typedefs: []
    union: []
- function_names:
  - net_if_getaddr4
  - net_if_list
  source_file: /src/rtpproxy/external/libre/src/net/posix/pif.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_POSIX
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rtpproxy/external/libre/src/net/posix/pif.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: __USE_XOPEN2K
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rtpproxy/external/libre/src/net/posix/pif.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_MISC
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/net/posix/pif.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/net/posix/pif.c
      type_or_value: '"posixif"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/net/posix/pif.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTM_RTA
  - RTA_NEXT
  - NLMSG_NEXT
  - read_sock
  - rt_parse
  - net_rt_list
  source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_POSIX
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: __USE_MISC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
      type_or_value: '"linuxrt"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
      type_or_value: '5'
    structs:
    - fields:
      - name: ifname[IFNAMSIZ]
        type: char
      - name: dst
        type: struct sa
      - name: dstlen
        type: int
      - name: gw
        type: struct sa
      item_type: struct
      name: net_rt
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
    typedefs: []
    union:
    - fields:
      - name: buf[BUFSIZE]
        type: uint8_t
      - name: msg[1]
        type: struct nlmsghdr
      item_type: union
      name: u
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/rtpproxy/external/libre/src/net/linux/rt.c
- function_names:
  - decode_chunk_size
  - decode_trailer
  - http_chunk_decode
  source_file: /src/rtpproxy/external/libre/src/http/chunk.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/http/http.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: size
        type: size_t
      - name: lf
        type: unsigned
      - name: trailer
        type: bool
      - name: digit
        type: bool
      - name: param
        type: bool
      item_type: struct
      name: http_chunk
      pos:
        line_end: 13
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/http/http.h
    typedefs: []
    union: []
- function_names:
  - sock_destructor
  - conn_destructor
  - conn_close
  - timeout_handler
  - recv_handler
  - close_handler
  - connect_handler
  - http_listen
  - https_listen
  - http_sock_tcp
  - http_conn_peer
  - http_conn_tcp
  - http_conn_tls
  - http_conn_close
  - http_vreply
  - http_reply
  - http_creply
  - http_ereply
  source_file: /src/rtpproxy/external/libre/src/http/server.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: connl
        type: struct list
      - name: '*ts'
        type: struct tcp_sock
      - name: '*tls'
        type: struct tls
      - name: '*reqh'
        type: http_req_h
      - name: '*arg'
        type: void
      item_type: struct
      name: http_sock
      pos:
        line_end: 32
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/http/server.c
    - fields:
      - name: le
        type: struct le
      - name: tmr
        type: struct tmr
      - name: peer
        type: struct sa
      - name: '*sock'
        type: struct http_sock
      - name: '*tc'
        type: struct tcp_conn
      - name: '*sc'
        type: struct tls_conn
      - name: '*mb'
        type: struct mbuf
      item_type: struct
      name: http_conn
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/http/server.c
    typedefs: []
    union: []
- function_names:
  - cli_destructor
  - req_destructor
  - conn_destructor
  - conn_idle
  - req_close
  - try_next
  - write_body_buf
  - write_body
  - req_recv
  - timeout_handler
  - estab_handler
  - recv_handler
  - close_handler
  - conn_cmp
  - conn_connect
  - req_connect
  - rr_handler
  - query_handler
  - http_request
  - http_req_set_conn_handler
  - http_client_alloc
  source_file: /src/rtpproxy/external/libre/src/http/client.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: reql
        type: struct list
      - name: '*ht_conn'
        type: struct hash
      - name: '*dnsc'
        type: struct dnsc
      - name: '*tls'
        type: struct tls
      item_type: struct
      name: http_cli
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/rtpproxy/external/libre/src/http/client.c
    - fields:
      - name: chunk
        type: struct http_chunk
      - name: srvv[16]
        type: struct sa
      - name: le
        type: struct le
      - name: '**reqp'
        type: struct http_req
      - name: '*cli'
        type: struct http_cli
      - name: '*msg'
        type: struct http_msg
      - name: '*dq'
        type: struct dns_query
      - name: '*conn'
        type: struct conn
      - name: '*mbreq'
        type: struct mbuf
      - name: '*mb'
        type: struct mbuf
      - name: '*host'
        type: char
      - name: '*resph'
        type: http_resp_h
      - name: '*datah'
        type: http_data_h
      - name: '*connh'
        type: http_conn_h
      - name: '*arg'
        type: void
      - name: rx_len
        type: size_t
      - name: srvc
        type: unsigned
      - name: port
        type: uint16_t
      - name: chunked
        type: bool
      - name: secure
        type: bool
      - name: close
        type: bool
      item_type: struct
      name: http_req
      pos:
        line_end: 63
        line_start: 41
        source_file: /src/rtpproxy/external/libre/src/http/client.c
    - fields:
      - name: tmr
        type: struct tmr
      - name: addr
        type: struct sa
      - name: he
        type: struct le
      - name: '*req'
        type: struct http_req
      - name: '*sc'
        type: struct tls_conn
      - name: '*tc'
        type: struct tcp_conn
      - name: usec
        type: uint64_t
      item_type: struct
      name: conn
      pos:
        line_end: 74
        line_start: 66
        source_file: /src/rtpproxy/external/libre/src/http/client.c
    typedefs: []
    union: []
- function_names:
  - hdr_destructor
  - destructor
  - hdr_hash
  - hdr_comma_separated
  - hdr_add
  - http_msg_decode
  - http_msg_hdr
  - http_msg_hdr_apply
  - http_msg_xhdr
  - http_msg_xhdr_apply
  - count_handler
  - http_msg_hdr_count
  - http_msg_xhdr_count
  - value_handler
  - http_msg_hdr_has_value
  - http_msg_xhdr_has_value
  - http_msg_print
  source_file: /src/rtpproxy/external/libre/src/http/msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - http_auth_print_challenge
  - chk_nonce
  - http_auth_check
  - http_auth_check_request
  source_file: /src/rtpproxy/external/libre/src/http/auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mem_seccmp
  source_file: /src/rtpproxy/external/libre/src/mem/secure.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mem_lock
  - mem_unlock
  - STAT_ALLOC
  - STAT_REALLOC
  - STAT_DEREF
  - MAGIC_CHECK
  - mem_alloc
  - mem_zalloc
  - mem_realloc
  - mem_reallocarray
  - mem_ref
  - mem_deref
  - mem_nrefs
  - debug_handler
  - mem_debug
  - mem_threshold_set
  - mem_status
  - mem_get_stat
  source_file: /src/rtpproxy/external/libre/src/mem/mem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/mem/mem.c
      type_or_value: '"mem"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/mem/mem.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MEM_DEBUG
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/external/libre/src/mem/mem.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/rtpproxy/external/libre/src/mem/mem.c
      type_or_value: (~((size_t)0))
    structs:
    - fields:
      - name: nrefs
        type: uint32_t
      - name: '*dh'
        type: mem_destroy_h
      item_type: struct
      name: mem
      pos:
        line_end: 37
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/mem/mem.c
    typedefs: []
    union: []
- function_names:
  - base64_encode
  - base64_print
  - b64val
  - base64_decode
  source_file: /src/rtpproxy/external/libre/src/base64/b64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtmp_chunker
  source_file: /src/rtpproxy/external/libre/src/rtmp/chunk.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ctrans_destructor
  - rtmp_ctrans_find
  - rtmp_amf_request
  - rtmp_ctrans_response
  source_file: /src/rtpproxy/external/libre/src/rtmp/ctrans.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: tid
        type: uint64_t
      - name: '*resph'
        type: rtmp_resp_h
      - name: '*arg'
        type: void
      item_type: struct
      name: rtmp_ctrans
      pos:
        line_end: 25
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/rtmp/ctrans.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/rtmp/rtmp.h
  types:
    enum:
    - enumerators:
      - name: RTMP_STATE_UNINITIALIZED
        value: '0'
      - name: RTMP_STATE_ACK_SENT
      - name: RTMP_STATE_VERSION_SENT
      - name: RTMP_STATE_HANDSHAKE_DONE
      item_type: enum
      name: rtmp_handshake_state
      pos:
        line_end: 26
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/rtmp/rtmp.h
    preproc_defs: []
    structs:
    - fields:
      - name: streaml
        type: struct list
      - name: '*dechunk'
        type: struct rtmp_dechunker
      - name: '*tc'
        type: struct tcp_conn
      - name: '*sc'
        type: struct tls_conn
      - name: '*mb'
        type: struct mbuf
      - name: state
        type: enum rtmp_handshake_state
      - name: total_bytes
        type: size_t
      - name: last_ack
        type: size_t
      - name: window_ack_size
        type: uint32_t
      - name: send_chunk_size
        type: uint32_t
      - name: chunk_id_counter
        type: unsigned
      - name: is_client
        type: bool
      - name: connected
        type: bool
      - name: '*estabh'
        type: rtmp_estab_h
      - name: '*cmdh'
        type: rtmp_command_h
      - name: '*closeh'
        type: rtmp_close_h
      - name: '*arg'
        type: void
      - name: '*dnsc'
        type: struct dnsc
      - name: '*dnsq4'
        type: struct dns_query
      - name: '*dnsq6'
        type: struct dns_query
      - name: ctransl
        type: struct list
      - name: srvv[16]
        type: struct sa
      - name: '*tls'
        type: struct tls
      - name: srvc
        type: unsigned
      - name: tid_counter
        type: uint64_t
      - name: port
        type: uint16_t
      - name: '*app'
        type: char
      - name: '*uri'
        type: char
      - name: '*stream'
        type: char
      - name: '*host'
        type: char
      item_type: struct
      name: rtmp_conn
      pos:
        line_end: 64
        line_start: 31
        source_file: /src/rtpproxy/external/libre/src/rtmp/rtmp.h
    - fields:
      - name: le
        type: struct le
      - name: '*conn'
        type: struct rtmp_conn
      - name: created
        type: bool
      - name: stream_id
        type: uint32_t
      - name: chunk_id_audio
        type: unsigned
      - name: chunk_id_video
        type: unsigned
      - name: chunk_id_data
        type: unsigned
      - name: '*auh'
        type: rtmp_audio_h
      - name: '*vidh'
        type: rtmp_video_h
      - name: '*datah'
        type: rtmp_command_h
      - name: '*cmdh'
        type: rtmp_command_h
      - name: '*resph'
        type: rtmp_resp_h
      - name: '*ctrlh'
        type: rtmp_control_h
      - name: '*arg'
        type: void
      item_type: struct
      name: rtmp_stream
      pos:
        line_end: 84
        line_start: 69
        source_file: /src/rtpproxy/external/libre/src/rtmp/rtmp.h
    - fields:
      - name: format
        type: unsigned
      - name: chunk_id
        type: uint32_t
      - name: timestamp
        type: uint32_t
      - name: timestamp_delta
        type: uint32_t
      - name: timestamp_ext
        type: uint32_t
      - name: length
        type: uint32_t
      - name: type_id
        type: uint8_t
      - name: stream_id
        type: uint32_t
      - name: ext_ts
        type: bool
      item_type: struct
      name: rtmp_header
      pos:
        line_end: 97
        line_start: 86
        source_file: /src/rtpproxy/external/libre/src/rtmp/rtmp.h
    typedefs:
    - item_type: typedef
      name: "(rtmp_dechunk_h)(const struct rtmp_header *hdr,\n\t\t\t     struct mbuf
        *mb, void *arg)"
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/rtpproxy/external/libre/src/rtmp/rtmp.h
      type: int
    union: []
- function_names:
  - conn_destructor
  - handle_amf_command
  - handle_user_control_msg
  - handle_data_message
  - rtmp_dechunk_handler
  - rtmp_conn_alloc
  - set_state
  - send_packet
  - handshake_start
  - conn_close
  - tcp_estab_handler
  - rtmp_send_amf_command
  - connect_resp_handler
  - send_connect
  - client_handle_packet
  - server_handle_packet
  - tcp_recv_handler
  - tcp_close_handler
  - req_connect
  - rr_handler
  - query_handler
  - rtmp_connect
  - rtmp_accept
  - rtmp_conn_send_msg
  - rtmp_conn_assign_chunkid
  - rtmp_conn_assign_tid
  - rtmp_conn_tcpconn
  - rtmp_conn_stream
  - rtmp_set_handlers
  - rtmp_handshake_name
  - rtmp_conn_debug
  source_file: /src/rtpproxy/external/libre/src/rtmp/conn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - amf_decode_object
  - amf_decode_value
  - rtmp_amf_decode
  source_file: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: i
        type: uint64_t
      - name: f
        type: double
      item_type: union
      name: num
      pos:
        line_end: 80
        line_start: 77
        source_file: /src/rtpproxy/external/libre/src/rtmp/amf_dec.c
- function_names:
  - mbuf_write_u24_hton
  - mbuf_read_u24_ntoh
  - encode_basic_hdr
  - decode_basic_hdr
  - ts_24
  - ts_ext
  - rtmp_header_encode
  - rtmp_header_decode
  - rtmp_header_print
  - rtmp_packet_type_name
  source_file: /src/rtpproxy/external/libre/src/rtmp/hdr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtmp_control
  - rtmp_event_name
  source_file: /src/rtpproxy/external/libre/src/rtmp/control.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtmp_amf_encode_key
  - rtmp_amf_encode_object_start
  - rtmp_amf_encode_array_start
  - rtmp_amf_encode_object_end
  - container_has_key
  - rtmp_amf_encode_number
  - rtmp_amf_encode_boolean
  - rtmp_amf_encode_string
  - rtmp_amf_encode_null
  - rtmp_amf_vencode_object
  source_file: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: i
        type: uint64_t
      - name: f
        type: double
      item_type: union
      name: "num = {\n\t\t.f = val\n\t}"
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/rtpproxy/external/libre/src/rtmp/amf_enc.c
- function_names:
  - destructor
  - rtmp_stream_alloc
  - createstream_handler
  - rtmp_stream_create
  - rtmp_play
  - rtmp_publish
  - rtmp_meta
  - rtmp_send_audio
  - rtmp_send_video
  - rtmp_stream_find
  source_file: /src/rtpproxy/external/libre/src/rtmp/stream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - chunk_destructor
  - create_chunk
  - find_chunk
  - rtmp_dechunker_alloc
  - rtmp_dechunker_receive
  - rtmp_dechunker_set_chunksize
  - rtmp_dechunker_debug
  source_file: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: hdr
        type: struct rtmp_header
      - name: '*mb'
        type: struct mbuf
      item_type: struct
      name: rtmp_chunk
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    - fields:
      - name: chunkl
        type: struct list
      - name: chunk_sz
        type: size_t
      - name: '*chunkh'
        type: rtmp_dechunk_h
      - name: '*arg'
        type: void
      item_type: struct
      name: rtmp_dechunker
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/rtmp/dechunk.c
    typedefs: []
    union: []
- function_names:
  - rtmp_command_header_encode
  - rtmp_amf_command
  - rtmp_amf_reply
  - rtmp_amf_data
  source_file: /src/rtpproxy/external/libre/src/rtmp/amf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbuf_destructor
  - mbuf_alloc
  - mbuf_alloc_ref
  - mbuf_init
  - mbuf_reset
  - mbuf_resize
  - mbuf_trim
  - mbuf_shift
  - mbuf_write_mem
  - mbuf_write_u8
  - mbuf_write_u16
  - mbuf_write_u32
  - mbuf_write_u64
  - mbuf_write_str
  - mbuf_write_pl
  - mbuf_read_mem
  - mbuf_read_u8
  - mbuf_read_u16
  - mbuf_read_u32
  - mbuf_read_u64
  - mbuf_read_str
  - mbuf_strdup
  - vprintf_handler
  - mbuf_vprintf
  - mbuf_printf
  - mbuf_write_pl_skip
  - mbuf_fill
  - mbuf_debug
  source_file: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
      type_or_value: '"mbuf"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/mbuf/mbuf.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rol
  - blk0
  - blk0
  - blk
  - R0
  - R1
  - R2
  - R3
  - R4
  - SHA1_Transform
  - SHA1_Init
  - SHA1_Update
  - SHA1_Final
  source_file: /src/rtpproxy/external/libre/src/sha/sha1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA1HANDSOFF
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/external/libre/src/sha/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/rtpproxy/external/libre/src/sha/sha1.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WORDS_BIGENDIAN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/rtpproxy/external/libre/src/sha/sha1.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: c[64]
        type: uint8_t
      - name: l[16]
        type: uint32_t
      item_type: union
      name: CHAR64LONG16
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/rtpproxy/external/libre/src/sha/sha1.c
- function_names:
  - dummy_udp_recv_handler
  - helper_send_handler
  - helper_recv_handler
  - udp_destructor
  - udp_read
  - udp_read_handler
  - udp_read_handler6
  - udp_listen
  - udp_connect
  - udp_send_internal
  - udp_send
  - udp_send_anon
  - udp_local_get
  - udp_setsockopt
  - udp_sockbuf_set
  - udp_rxsz_set
  - udp_rxbuf_presz_set
  - udp_handler_set
  - udp_error_handler_set
  - udp_sock_fd
  - udp_thread_attach
  - udp_thread_detach
  - helper_destructor
  - sort_handler
  - udp_register_helper
  - udp_send_helper
  - udp_helper_find
  source_file: /src/rtpproxy/external/libre/src/udp/udp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_POSIX
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: __USE_XOPEN2K
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: '"udp"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BUF_CAST
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: (char *)
    - item_type: preproc_def
      name: SOK_CAST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: (int)
    - item_type: preproc_def
      name: SIZ_CAST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: (int)
    - item_type: preproc_def
      name: close
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
      type_or_value: closesocket
    structs:
    - fields:
      - name: helpers
        type: struct list
      - name: '*rh'
        type: udp_recv_h
      - name: '*eh'
        type: udp_error_h
      - name: '*arg'
        type: void
      - name: fd
        type: int
      - name: fd6
        type: int
      - name: conn
        type: bool
      - name: rxsz
        type: size_t
      - name: rx_presz
        type: size_t
      item_type: struct
      name: udp_sock
      pos:
        line_end: 69
        line_start: 59
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
    - fields:
      - name: le
        type: struct le
      - name: layer
        type: int
      - name: '*sendh'
        type: udp_helper_send_h
      - name: '*recvh'
        type: udp_helper_recv_h
      - name: '*arg'
        type: void
      item_type: struct
      name: udp_helper
      pos:
        line_end: 78
        line_start: 72
        source_file: /src/rtpproxy/external/libre/src/udp/udp.c
    typedefs: []
    union: []
- function_names:
  - multicast_update
  - udp_multicast_join
  - udp_multicast_leave
  source_file: /src/rtpproxy/external/libre/src/udp/mcast.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/udp/mcast.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/udp/mcast.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_ctype_decode
  - msg_ctype_cmp
  source_file: /src/rtpproxy/external/libre/src/msg/ctype.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_param_exists
  - msg_param_decode
  source_file: /src/rtpproxy/external/libre/src/msg/param.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dbg_lock
  - dbg_unlock
  - dbg_init
  - dbg_close
  - dbg_logfile_set
  - dbg_handler_set
  - dbg_vprintf
  - dbg_fmt_vprintf
  - dbg_printf
  - dbg_noprintf
  - dbg_warning
  - dbg_notice
  - dbg_info
  - dbg_level_str
  source_file: /src/rtpproxy/external/libre/src/dbg/dbg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/dbg/dbg.c
      type_or_value: '"dbg"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/dbg/dbg.c
      type_or_value: '0'
    structs:
    - fields:
      - name: tick
        type: uint64_t
      - name: level
        type: int
      - name: flags
        type: enum dbg_flags
      - name: '*ph'
        type: dbg_print_h
      - name: '*arg'
        type: void
      - name: '*f'
        type: FILE
      item_type: struct
      name: "dbg = {\n\t0,\n\tDBG_INFO,\n\tDBG_ANSI,\n\tNULL,\n\tNULL,\n\tNULL,\n#ifdef
        HAVE_PTHREAD\n\tPTHREAD_MUTEX_INITIALIZER,\n#endif\n}"
      pos:
        line_end: 36
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/dbg/dbg.c
    typedefs: []
    union: []
- function_names:
  - md5
  - md5_printf
  source_file: /src/rtpproxy/external/libre/src/md5/wrap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/md5/md5.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count[2]
        type: md5_word_t
      - name: abcd[4]
        type: md5_word_t
      - name: buf[64]
        type: md5_byte_t
      item_type: struct
      name: md5_state_s
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/rtpproxy/external/libre/src/md5/md5.h
    typedefs:
    - item_type: typedef
      name: md5_byte_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/rtpproxy/external/libre/src/md5/md5.h
      type: unsigned char
    - item_type: typedef
      name: md5_word_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/rtpproxy/external/libre/src/md5/md5.h
      type: unsigned int
    union: []
- function_names:
  - md5_process
  - ROTATE_LEFT
  - F
  - SET
  - G
  - SET
  - H
  - SET
  - I
  - SET
  - md5_init
  - md5_append
  - md5_finish
  source_file: /src/rtpproxy/external/libre/src/md5/md5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '(ARCH_IS_BIG_ENDIAN ? 1 : -1)'
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0'
    - item_type: preproc_def
      name: T_MASK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: ((md5_word_t)~0)
    - item_type: preproc_def
      name: T1
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x28955b87)
    - item_type: preproc_def
      name: T2
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x173848a9)
    - item_type: preproc_def
      name: T3
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x242070db'
    - item_type: preproc_def
      name: T4
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x3e423111)
    - item_type: preproc_def
      name: T5
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x0a83f050)
    - item_type: preproc_def
      name: T6
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x4787c62a'
    - item_type: preproc_def
      name: T7
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x57cfb9ec)
    - item_type: preproc_def
      name: T8
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x02b96afe)
    - item_type: preproc_def
      name: T9
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x698098d8'
    - item_type: preproc_def
      name: T10
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x74bb0850)
    - item_type: preproc_def
      name: T11
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x0000a44e)
    - item_type: preproc_def
      name: T12
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x76a32841)
    - item_type: preproc_def
      name: T13
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x6b901122'
    - item_type: preproc_def
      name: T14
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x02678e6c)
    - item_type: preproc_def
      name: T15
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x5986bc71)
    - item_type: preproc_def
      name: T16
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x49b40821'
    - item_type: preproc_def
      name: T17
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x09e1da9d)
    - item_type: preproc_def
      name: T18
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x3fbf4cbf)
    - item_type: preproc_def
      name: T19
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x265e5a51'
    - item_type: preproc_def
      name: T20
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x16493855)
    - item_type: preproc_def
      name: T21
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x29d0efa2)
    - item_type: preproc_def
      name: T22
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x02441453'
    - item_type: preproc_def
      name: T23
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x275e197e)
    - item_type: preproc_def
      name: T24
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x182c0437)
    - item_type: preproc_def
      name: T25
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x21e1cde6'
    - item_type: preproc_def
      name: T26
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x3cc8f829)
    - item_type: preproc_def
      name: T27
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x0b2af278)
    - item_type: preproc_def
      name: T28
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x455a14ed'
    - item_type: preproc_def
      name: T29
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x561c16fa)
    - item_type: preproc_def
      name: T30
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x03105c07)
    - item_type: preproc_def
      name: T31
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x676f02d9'
    - item_type: preproc_def
      name: T32
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x72d5b375)
    - item_type: preproc_def
      name: T33
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x0005c6bd)
    - item_type: preproc_def
      name: T34
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x788e097e)
    - item_type: preproc_def
      name: T35
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x6d9d6122'
    - item_type: preproc_def
      name: T36
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x021ac7f3)
    - item_type: preproc_def
      name: T37
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x5b4115bb)
    - item_type: preproc_def
      name: T38
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x4bdecfa9'
    - item_type: preproc_def
      name: T39
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x0944b49f)
    - item_type: preproc_def
      name: T40
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x4140438f)
    - item_type: preproc_def
      name: T41
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x289b7ec6'
    - item_type: preproc_def
      name: T42
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x155ed805)
    - item_type: preproc_def
      name: T43
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x2b10cf7a)
    - item_type: preproc_def
      name: T44
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x04881d05'
    - item_type: preproc_def
      name: T45
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x262b2fc6)
    - item_type: preproc_def
      name: T46
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x1924661a)
    - item_type: preproc_def
      name: T47
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x1fa27cf8'
    - item_type: preproc_def
      name: T48
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x3b53a99a)
    - item_type: preproc_def
      name: T49
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x0bd6ddbb)
    - item_type: preproc_def
      name: T50
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x432aff97'
    - item_type: preproc_def
      name: T51
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x546bdc58)
    - item_type: preproc_def
      name: T52
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x036c5fc6)
    - item_type: preproc_def
      name: T53
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x655b59c3'
    - item_type: preproc_def
      name: T54
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x70f3336d)
    - item_type: preproc_def
      name: T55
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x00100b82)
    - item_type: preproc_def
      name: T56
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x7a7ba22e)
    - item_type: preproc_def
      name: T57
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x6fa87e4f'
    - item_type: preproc_def
      name: T58
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x01d3191f)
    - item_type: preproc_def
      name: T59
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x5cfebceb)
    - item_type: preproc_def
      name: T60
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x4e0811a1'
    - item_type: preproc_def
      name: T61
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x08ac817d)
    - item_type: preproc_def
      name: T62
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x42c50dca)
    - item_type: preproc_def
      name: T63
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: '0x2ad7d2bb'
    - item_type: preproc_def
      name: T64
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: (T_MASK ^ 0x14792c6e)
    - item_type: preproc_def
      name: xbuf
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/rtpproxy/external/libre/src/md5/md5.c
      type_or_value: "X\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - sa_init
  - sa_set
  - sa_set_str
  - sa_set_in
  - sa_set_in6
  - sa_set_sa
  - sa_set_port
  - sa_decode
  - sa_af
  - sa_in
  - sa_in6
  - sa_ntop
  - sa_port
  - sa_isset
  - sa_hash
  - sa_cpy
  - sa_cmp
  - IN_IS_ADDR_LINKLOCAL
  - sa_is_linklocal
  - sa_is_loopback
  - sa_is_any
  source_file: /src/rtpproxy/external/libre/src/sa/sa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/sa/sa.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/sa/sa.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/sa/sa.c
      type_or_value: '"sa"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/sa/sa.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sa_print_addr
  source_file: /src/rtpproxy/external/libre/src/sa/printaddr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_MISC
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/external/libre/src/sa/printaddr.c
      type_or_value: '1   '
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_pton4
  - inet_pton6
  - inet_pton
  - net_inet_pton
  source_file: /src/rtpproxy/external/libre/src/sa/pton.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_POSIX
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '"net_pton"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NS_INADDRSZ
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '4       '
    - item_type: preproc_def
      name: NS_IN6ADDRSZ
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '16      '
    - item_type: preproc_def
      name: NS_INT16SZ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/external/libre/src/sa/pton.c
      type_or_value: '2       '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/sa/sa.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - inet_ntop4
  - inet_ntop6
  - inet_ntop
  - net_inet_ntop
  source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOURCE
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_BSD
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '1    '
    - item_type: preproc_def
      name: __USE_POSIX
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '"net_ntop"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NS_IN6ADDRSZ
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '16      '
    - item_type: preproc_def
      name: NS_INT16SZ
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
      type_or_value: '2       '
    structs:
    - fields:
      - name: base
        type: int
      item_type: struct
      name: best
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/rtpproxy/external/libre/src/sa/ntop.c
    typedefs: []
    union: []
- function_names:
  - lock_destructor
  - lock_alloc
  - lock_read_get
  - lock_write_get
  - lock_read_try
  - lock_write_try
  - lock_rel
  source_file: /src/rtpproxy/external/libre/src/lock/rwlock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/lock/rwlock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/lock/rwlock.c
      type_or_value: '"rwlock"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/lock/rwlock.c
      type_or_value: '5'
    structs:
    - fields:
      - name: lock
        type: pthread_rwlock_t
      item_type: struct
      name: lock
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/rtpproxy/external/libre/src/lock/rwlock.c
    typedefs: []
    union: []
- function_names:
  - lock_destructor
  - lock_alloc
  - lock_read_get
  - lock_write_get
  - lock_read_try
  - lock_write_try
  - lock_rel
  source_file: /src/rtpproxy/external/libre/src/lock/lock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _DEFAULT_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/libre/src/lock/lock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_UNIX98
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/lock/lock.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/lock/lock.c
      type_or_value: '"lock"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/lock/lock.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LOCK_DEBUG
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/lock/lock.c
      type_or_value: '0'
    structs:
    - fields:
      - name: m
        type: pthread_mutex_t
      item_type: struct
      name: lock
      pos:
        line_end: 26
        line_start: 24
        source_file: /src/rtpproxy/external/libre/src/lock/lock.c
    typedefs: []
    union: []
- function_names:
  - lock_destructor
  - lock_alloc
  - lock_read_get
  - lock_write_get
  - lock_read_try
  - lock_write_try
  - lock_rel
  source_file: /src/rtpproxy/external/libre/src/lock/win32/lock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/rtpproxy/external/libre/src/lock/win32/lock.c
      type_or_value: '0x0400'
    structs:
    - fields:
      - name: c
        type: CRITICAL_SECTION
      item_type: struct
      name: lock
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/lock/win32/lock.c
    typedefs: []
    union: []
- function_names:
  - tcp_listen
  - tcp_connect
  - tcp_local_get
  source_file: /src/rtpproxy/external/libre/src/tcp/tcp_high.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - helper_estab_handler
  - helper_send_handler
  - helper_recv_handler
  - sock_destructor
  - conn_destructor
  - helper_destructor
  - qent_destructor
  - enqueue
  - dequeue
  - conn_close
  - tcp_recv_handler
  - conn_alloc
  - tcp_sockopt_set
  - tcp_conn_handler
  - tcp_sock_alloc
  - tcp_sock_dup
  - tcp_sock_bind
  - tcp_sock_listen
  - tcp_accept
  - tcp_reject
  - tcp_conn_alloc
  - tcp_conn_bind
  - tcp_conn_connect
  - tcp_send_internal
  - tcp_send
  - tcp_send_helper
  - tcp_set_send
  - tcp_set_handlers
  - tcp_sock_local_get
  - tcp_conn_local_get
  - tcp_conn_peer_get
  - tcp_conn_rxsz_set
  - tcp_conn_txqsz_set
  - tcp_conn_fd
  - tcp_conn_txqsz
  - sort_handler
  - tcp_register_helper
  source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_POSIX
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: __USE_XOPEN2K
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: __USE_MISC
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: '"tcp"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BUF_CAST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: (char *)
    - item_type: preproc_def
      name: SOK_CAST
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: (int)
    - item_type: preproc_def
      name: SIZ_CAST
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: (int)
    - item_type: preproc_def
      name: close
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
      type_or_value: closesocket
    structs:
    - fields:
      - name: fd
        type: int
      - name: fdc
        type: int
      - name: '*connh'
        type: tcp_conn_h
      - name: '*arg'
        type: void
      item_type: struct
      name: tcp_sock
      pos:
        line_end: 63
        line_start: 58
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
    - fields:
      - name: helpers
        type: struct list
      - name: sendq
        type: struct list
      - name: fdc
        type: int
      - name: '*estabh'
        type: tcp_estab_h
      - name: '*sendh'
        type: tcp_send_h
      - name: '*recvh'
        type: tcp_recv_h
      - name: '*closeh'
        type: tcp_close_h
      - name: '*arg'
        type: void
      - name: rxsz
        type: size_t
      - name: txqsz
        type: size_t
      - name: txqsz_max
        type: size_t
      - name: active
        type: bool
      - name: connected
        type: bool
      item_type: struct
      name: tcp_conn
      pos:
        line_end: 81
        line_start: 67
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
    - fields:
      - name: le
        type: struct le
      - name: layer
        type: int
      - name: '*estabh'
        type: tcp_helper_estab_h
      - name: '*sendh'
        type: tcp_helper_send_h
      - name: '*recvh'
        type: tcp_helper_recv_h
      - name: '*arg'
        type: void
      item_type: struct
      name: tcp_helper
      pos:
        line_end: 92
        line_start: 85
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
    - fields:
      - name: le
        type: struct le
      - name: mb
        type: struct mbuf
      item_type: struct
      name: tcp_qent
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/rtpproxy/external/libre/src/tcp/tcp.c
    typedefs: []
    union: []
- function_names:
  - load_file
  - conf_destructor
  - conf_alloc
  - conf_alloc_buf
  - conf_get
  - conf_get_str
  - conf_get_u32
  - conf_get_bool
  - conf_apply
  source_file: /src/rtpproxy/external/libre/src/conf/conf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: open
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/conf/conf.c
      type_or_value: _open
    - item_type: preproc_def
      name: read
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/libre/src/conf/conf.c
      type_or_value: _read
    - item_type: preproc_def
      name: close
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/external/libre/src/conf/conf.c
      type_or_value: _close
    structs:
    - fields:
      - name: '*mb'
        type: struct mbuf
      item_type: struct
      name: conf
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/rtpproxy/external/libre/src/conf/conf.c
    typedefs: []
    union: []
- function_names:
  - crc32
  source_file: /src/rtpproxy/external/libre/src/crc32/crc32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/main/main.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - thread_destructor
  - re_once
  - re_get
  - re_lock
  - re_unlock
  - re_get
  - fd_handler
  - set_poll_fds
  - set_epoll_fds
  - set_kqueue_fds
  - rebuild_fds
  - poll_init
  - poll_close
  - poll_setup
  - fd_listen
  - fd_close
  - fd_poll
  - fd_setsize
  - fd_debug
  - signal_handler
  - re_main
  - re_cancel
  - re_debug
  - poll_method_set
  - re_thread_init
  - re_thread_close
  - re_thread_enter
  - re_thread_leave
  - re_set_mutex
  - tmrl_get
  source_file: /src/rtpproxy/external/libre/src/main/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __USE_GNU
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/external/libre/src/main/main.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/external/libre/src/main/main.c
      type_or_value: '"main"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/rtpproxy/external/libre/src/main/main.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAIN_DEBUG
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/external/libre/src/main/main.c
      type_or_value: '1  '
    structs:
    - fields:
      - name: '*fhs'
        type: "struct {\n\t\tint flags;           /**< Polling flags (Read, Write,
          etc.) */\n\t\tfd_h *fh;            /**< Event handler                     */\n\t\tvoid
          *arg;           /**< Handler argument                  */\n\t}"
      - name: maxfds
        type: int
      - name: nfds
        type: int
      - name: method
        type: enum poll_method
      - name: update
        type: bool
      - name: polling
        type: bool
      - name: sig
        type: int
      - name: tmrl
        type: struct list
      item_type: struct
      name: re
      pos:
        line_end: 121
        line_start: 87
        source_file: /src/rtpproxy/external/libre/src/main/main.c
    typedefs: []
    union: []
- function_names:
  - poll_method_best
  - poll_method_name
  - poll_method_type
  source_file: /src/rtpproxy/external/libre/src/main/method.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - epoll_check
  source_file: /src/rtpproxy/external/libre/src/main/epoll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/libre/src/main/epoll.c
      type_or_value: '"epoll"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/main/epoll.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - libre_init
  - libre_close
  source_file: /src/rtpproxy/external/libre/src/main/init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - threadid
  - threadid_handler
  - threadid_handler
  - locking_handler
  - dynlock_create_handler
  - dynlock_lock_handler
  - dynlock_destroy_handler
  - sigpipe_handler
  - openssl_init
  - openssl_close
  source_file: /src/rtpproxy/external/libre/src/main/openssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_recv_handler
  - internal_close_handler
  - sock_destructor
  - conn_destructor
  - conn_close
  - timeout_handler
  - keepalive_handler
  - websock_err2scode
  - websock_decode
  - recv_handler
  - close_handler
  - accept_print
  - http_resp_handler
  - http_conn_handler
  - websock_connect
  - websock_accept
  - websock_encode
  - websock_vsend
  - websock_send
  - websock_close
  - websock_peer
  - websock_alloc
  - websock_shutdown
  source_file: /src/rtpproxy/external/libre/src/websock/websock.c
  types:
    enum:
    - enumerators:
      - name: ACCEPTING
        value: '0'
      - name: CONNECTING
      - name: OPEN
      - name: CLOSED
      - name: CLOSING
      item_type: enum
      name: websock_state
      pos:
        line_end: 35
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/websock/websock.c
    preproc_defs: []
    structs:
    - fields:
      - name: '*shuth'
        type: websock_shutdown_h
      - name: '*arg'
        type: void
      - name: shutdown
        type: bool
      item_type: struct
      name: websock
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/rtpproxy/external/libre/src/websock/websock.c
    - fields:
      - name: tmr
        type: struct tmr
      - name: peer
        type: struct sa
      - name: nonce[24]
        type: char
      - name: '*sock'
        type: struct websock
      - name: '*tc'
        type: struct tcp_conn
      - name: '*sc'
        type: struct tls_conn
      - name: '*mb'
        type: struct mbuf
      - name: '*req'
        type: struct http_req
      - name: '*estabh'
        type: websock_estab_h
      - name: '*recvh'
        type: websock_recv_h
      - name: '*closeh'
        type: websock_close_h
      - name: '*arg'
        type: void
      - name: state
        type: enum websock_state
      - name: kaint
        type: unsigned
      - name: active
        type: bool
      item_type: struct
      name: websock_conn
      pos:
        line_end: 59
        line_start: 43
        source_file: /src/rtpproxy/external/libre/src/websock/websock.c
    typedefs: []
    union: []
- function_names:
  - vreplyf
  - sip_treplyf
  - sip_treply
  - sip_replyf
  - sip_reply
  - sip_reply_addr
  source_file: /src/rtpproxy/external/libre/src/sip/reply.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - decode_hostport
  - sip_via_decode
  source_file: /src/rtpproxy/external/libre/src/sip/via.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sip_contact_set
  - sip_contact_print
  source_file: /src/rtpproxy/external/libre/src/sip/contact.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - route_handler
  - request_copy
  - destructor
  - cmp_handler
  - dummy_handler
  - terminate
  - transport_handler
  - tmr_handler
  - retransmit_handler
  - invite_response
  - response_handler
  - sip_ctrans_request
  - sip_ctrans_cancel
  - sip_ctrans_init
  - statename
  - debug_handler
  - sip_ctrans_debug
  source_file: /src/rtpproxy/external/libre/src/sip/ctrans.c
  types:
    enum:
    - enumerators:
      - name: TRYING
      - name: PROCEEDING
      - name: CALLING
      - name: COMPLETED
      item_type: enum
      name: state
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/sip/ctrans.c
    preproc_defs: []
    structs:
    - fields:
      - name: he
        type: struct le
      - name: dst
        type: struct sa
      - name: tmr
        type: struct tmr
      - name: tmre
        type: struct tmr
      - name: '*sip'
        type: struct sip
      - name: '*mb'
        type: struct mbuf
      - name: '*mb_ack'
        type: struct mbuf
      - name: '*req'
        type: struct sip_msg
      - name: '*qent'
        type: struct sip_connqent
      - name: '*met'
        type: char
      - name: '*branch'
        type: char
      - name: '*resph'
        type: sip_resp_h
      - name: '*arg'
        type: void
      - name: tp
        type: enum sip_transp
      - name: state
        type: enum state
      - name: txc
        type: uint32_t
      - name: invite
        type: bool
      item_type: struct
      name: sip_ctrans
      pos:
        line_end: 53
        line_start: 35
        source_file: /src/rtpproxy/external/libre/src/sip/ctrans.c
    typedefs: []
    union: []
- function_names:
  - internal_transport_handler
  - transp_destructor
  - conn_destructor
  - qent_destructor
  - transp_find
  - conn_find
  - conn_close
  - conn_tmr_handler
  - conn_keepalive_handler
  - sip_recv
  - udp_recv_handler
  - tcp_recv_handler
  - tcp_estab_handler
  - tcp_close_handler
  - tcp_connect_handler
  - conn_send
  - sip_transp_init
  - sip_transp_add
  - sip_transp_flush
  - sip_transp_send
  - sip_transp_laddr
  - sip_transp_supported
  - sip_transp_isladdr
  - sip_transp_name
  - sip_transp_srvid
  - sip_transp_param
  - sip_transp_reliable
  - sip_transp_port
  - debug_handler
  - sip_transp_debug
  - sip_msg_tcpconn
  - sip_keepalive_tcp
  source_file: /src/rtpproxy/external/libre/src/sip/transp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: laddr
        type: struct sa
      - name: '*sip'
        type: struct sip
      - name: '*tls'
        type: struct tls
      - name: '*sock'
        type: void
      - name: tp
        type: enum sip_transp
      item_type: struct
      name: sip_transport
      pos:
        line_end: 42
        line_start: 35
        source_file: /src/rtpproxy/external/libre/src/sip/transp.c
    - fields:
      - name: he
        type: struct le
      - name: ql
        type: struct list
      - name: kal
        type: struct list
      - name: tmr
        type: struct tmr
      - name: tmr_ka
        type: struct tmr
      - name: laddr
        type: struct sa
      - name: paddr
        type: struct sa
      - name: '*sc'
        type: struct tls_conn
      - name: '*tc'
        type: struct tcp_conn
      - name: '*mb'
        type: struct mbuf
      - name: '*sip'
        type: struct sip
      - name: ka_interval
        type: uint32_t
      - name: established
        type: bool
      item_type: struct
      name: sip_conn
      pos:
        line_end: 59
        line_start: 45
        source_file: /src/rtpproxy/external/libre/src/sip/transp.c
    - fields:
      - name: le
        type: struct le
      - name: '*mb'
        type: struct mbuf
      - name: '**qentp'
        type: struct sip_connqent
      - name: '*transph'
        type: sip_transp_h
      - name: '*arg'
        type: void
      item_type: struct
      name: sip_connqent
      pos:
        line_end: 68
        line_start: 62
        source_file: /src/rtpproxy/external/libre/src/sip/transp.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - strans_cmp
  - cmp_handler
  - cmp_ack_handler
  - cmp_cancel_handler
  - cmp_merge_handler
  - dummy_handler
  - tmr_handler
  - retransmit_handler
  - ack_handler
  - cancel_handler
  - request_handler
  - sip_strans_alloc
  - sip_strans_reply
  - sip_strans_init
  - statename
  - debug_handler
  - sip_strans_debug
  source_file: /src/rtpproxy/external/libre/src/sip/strans.c
  types:
    enum:
    - enumerators:
      - name: TRYING
      - name: PROCEEDING
      - name: ACCEPTED
      - name: COMPLETED
      - name: CONFIRMED
      item_type: enum
      name: state
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/sip/strans.c
    preproc_defs: []
    structs:
    - fields:
      - name: he
        type: struct le
      - name: he_mrg
        type: struct le
      - name: tmr
        type: struct tmr
      - name: tmrg
        type: struct tmr
      - name: dst
        type: struct sa
      - name: '*sip'
        type: struct sip
      - name: '*msg'
        type: struct sip_msg
      - name: '*mb'
        type: struct mbuf
      - name: '*cancelh'
        type: sip_cancel_h
      - name: '*arg'
        type: void
      - name: state
        type: enum state
      - name: txc
        type: uint32_t
      - name: invite
        type: bool
      item_type: struct
      name: sip_strans
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/rtpproxy/external/libre/src/sip/strans.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - lsnr_destructor
  - sip_alloc
  - sip_close
  - sip_send
  - sip_listen
  - sip_debug
  source_file: /src/rtpproxy/external/libre/src/sip/sip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - udpconn_close
  - stun_response_handler
  - udpconn_keepalive_handler
  - udpconn_find
  - sip_keepalive_udp
  source_file: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: he
        type: struct le
      - name: kal
        type: struct list
      - name: tmr_ka
        type: struct tmr
      - name: maddr
        type: struct sa
      - name: paddr
        type: struct sa
      - name: '*us'
        type: struct udp_sock
      - name: '*ct'
        type: struct stun_ctrans
      - name: '*stun'
        type: struct stun
      - name: ka_interval
        type: uint32_t
      item_type: struct
      name: sip_udpconn
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/rtpproxy/external/libre/src/sip/keepalive_udp.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - sip_keepalive_signal
  - sip_keepalive_wait
  - sip_keepalive_start
  source_file: /src/rtpproxy/external/libre/src/sip/keepalive.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sip_cseq_decode
  source_file: /src/rtpproxy/external/libre/src/sip/cseq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hdr_destructor
  - destructor
  - hdr_hash
  - hdr_comma_separated
  - hdr_add
  - sip_msg_decode
  - sip_msg_hdr
  - sip_msg_hdr_apply
  - sip_msg_xhdr
  - sip_msg_xhdr_apply
  - count_handler
  - sip_msg_hdr_count
  - sip_msg_xhdr_count
  - value_handler
  - sip_msg_hdr_has_value
  - sip_msg_xhdr_has_value
  - sip_msg_dump
  source_file: /src/rtpproxy/external/libre/src/sip/msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/sip/sip.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: transpl
        type: struct list
      - name: lsnrl
        type: struct list
      - name: reql
        type: struct list
      - name: '*ht_ctrans'
        type: struct hash
      - name: '*ht_strans'
        type: struct hash
      - name: '*ht_strans_mrg'
        type: struct hash
      - name: '*ht_conn'
        type: struct hash
      - name: '*ht_udpconn'
        type: struct hash
      - name: '*dnsc'
        type: struct dnsc
      - name: '*stun'
        type: struct stun
      - name: '*software'
        type: char
      - name: '*exith'
        type: sip_exit_h
      - name: '*arg'
        type: void
      - name: closing
        type: bool
      item_type: struct
      name: sip
      pos:
        line_end: 22
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/sip/sip.h
    - fields:
      - name: le
        type: struct le
      - name: '**lsnrp'
        type: struct sip_lsnr
      - name: '*msgh'
        type: sip_msg_h
      - name: '*arg'
        type: void
      - name: req
        type: bool
      item_type: struct
      name: sip_lsnr
      pos:
        line_end: 31
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/sip/sip.h
    - fields:
      - name: le
        type: struct le
      - name: '**kap'
        type: struct sip_keepalive
      - name: '*kah'
        type: sip_keepalive_h
      - name: '*arg'
        type: void
      item_type: struct
      name: sip_keepalive
      pos:
        line_end: 39
        line_start: 34
        source_file: /src/rtpproxy/external/libre/src/sip/sip.h
    typedefs:
    - item_type: typedef
      name: (sip_transp_h)(int err, void *arg)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/rtpproxy/external/libre/src/sip/sip.h
      type: void
    union: []
- function_names:
  - x64_strdup
  - destructor
  - sip_dialog_alloc
  - record_route_handler
  - sip_dialog_accept
  - sip_dialog_create
  - sip_dialog_fork
  - sip_dialog_update
  - sip_dialog_rseq_valid
  - sip_dialog_encode
  - sip_dialog_uri
  - sip_dialog_route
  - sip_dialog_hash
  - sip_dialog_callid
  - sip_dialog_lseq
  - sip_dialog_established
  - sip_dialog_cmp
  - sip_dialog_cmp_half
  source_file: /src/rtpproxy/external/libre/src/sip/dialog.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: route
        type: struct uri
      - name: '*mb'
        type: struct mbuf
      - name: '*callid'
        type: char
      - name: '*ltag'
        type: char
      - name: '*rtag'
        type: char
      - name: '*uri'
        type: char
      - name: hash
        type: uint32_t
      - name: lseq
        type: uint32_t
      - name: rseq
        type: uint32_t
      - name: cpos
        type: size_t
      item_type: struct
      name: sip_dialog
      pos:
        line_end: 38
        line_start: 27
        source_file: /src/rtpproxy/external/libre/src/sip/dialog.c
    - fields:
      - name: '*mb'
        type: struct mbuf
      - name: end
        type: size_t
      item_type: struct
      name: route_enc
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/rtpproxy/external/libre/src/sip/dialog.c
    typedefs: []
    union: []
- function_names:
  - dummy_handler
  - realm_destructor
  - auth_destructor
  - mkdigest
  - cmp_handler
  - auth_handler
  - sip_auth_authenticate
  - sip_auth_encode
  - sip_auth_alloc
  - sip_auth_reset
  source_file: /src/rtpproxy/external/libre/src/sip/auth.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: realml
        type: struct list
      - name: '*authh'
        type: sip_auth_h
      - name: '*arg'
        type: void
      - name: ref
        type: bool
      - name: err
        type: int
      item_type: struct
      name: sip_auth
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/sip/auth.c
    - fields:
      - name: le
        type: struct le
      - name: '*realm'
        type: char
      - name: '*nonce'
        type: char
      - name: '*qop'
        type: char
      - name: '*opaque'
        type: char
      - name: '*user'
        type: char
      - name: '*pass'
        type: char
      - name: nc
        type: uint32_t
      - name: hdr
        type: enum sip_hdrid
      item_type: struct
      name: realm
      pos:
        line_end: 41
        line_start: 31
        source_file: /src/rtpproxy/external/libre/src/sip/auth.c
    typedefs: []
    union: []
- function_names:
  - sip_addr_decode
  source_file: /src/rtpproxy/external/libre/src/sip/addr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - str_ldup
  - destructor
  - terminate
  - close_handler
  - response_handler
  - request
  - request_next
  - transp_next
  - transp_next_srv
  - rr_append_handler
  - rr_cache_handler
  - rr_naptr_handler
  - naptr_handler
  - srv_handler
  - addr_handler
  - srv_lookup
  - addr_lookup
  - sip_request
  - sip_requestf
  - sip_drequestf
  - sip_request_cancel
  - sip_request_close
  - sip_request_loops
  - sip_loopstate_reset
  source_file: /src/rtpproxy/external/libre/src/sip/request.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: cachel
        type: struct list
      - name: addrl
        type: struct list
      - name: srvl
        type: struct list
      - name: '**reqp'
        type: struct sip_request
      - name: '*ct'
        type: struct sip_ctrans
      - name: '*dnsq'
        type: struct dns_query
      - name: '*dnsq2'
        type: struct dns_query
      - name: '*sip'
        type: struct sip
      - name: '*met'
        type: char
      - name: '*uri'
        type: char
      - name: '*host'
        type: char
      - name: '*mb'
        type: struct mbuf
      - name: '*sendh'
        type: sip_send_h
      - name: '*resph'
        type: sip_resp_h
      - name: '*arg'
        type: void
      - name: sortkey
        type: size_t
      - name: tp
        type: enum sip_transp
      - name: tp_selected
        type: bool
      - name: stateful
        type: bool
      - name: canceled
        type: bool
      - name: provrecv
        type: bool
      - name: port
        type: uint16_t
      item_type: struct
      name: sip_request
      pos:
        line_end: 44
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/sip/request.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - tmr_handler
  - retransmit_handler
  - sipsess_reply_2xx
  - cmp_handler
  - sipsess_reply_ack
  source_file: /src/rtpproxy/external/libre/src/sipsess/reply.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: tmr
        type: struct tmr
      - name: tmrg
        type: struct tmr
      - name: '*msg'
        type: struct sip_msg
      - name: '*mb'
        type: struct mbuf
      - name: '*sess'
        type: struct sipsess
      - name: awaiting_answer
        type: bool
      - name: seq
        type: uint32_t
      - name: txc
        type: uint32_t
      item_type: struct
      name: sipsess_reply
      pos:
        line_end: 30
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/sipsess/reply.c
    typedefs: []
    union: []
- function_names:
  - destructor
  - tmr_handler
  - send_handler
  - resp_handler
  - sipsess_ack
  - cmp_handler
  - sipsess_ack_again
  source_file: /src/rtpproxy/external/libre/src/sipsess/ack.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: he
        type: struct le
      - name: tmr
        type: struct tmr
      - name: dst
        type: struct sa
      - name: '*req'
        type: struct sip_request
      - name: '*dlg'
        type: struct sip_dialog
      - name: '*mb'
        type: struct mbuf
      - name: tp
        type: enum sip_transp
      - name: cseq
        type: uint32_t
      item_type: struct
      name: sipsess_ack
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/sipsess/ack.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/sipsess/sipsess.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: he
        type: struct le
      - name: tmr
        type: struct tmr
      - name: replyl
        type: struct list
      - name: requestl
        type: struct list
      - name: ls
        type: struct sip_loopstate
      - name: '*sock'
        type: struct sipsess_sock
      - name: '*msg'
        type: struct sip_msg
      - name: '*req'
        type: struct sip_request
      - name: '*dlg'
        type: struct sip_dialog
      - name: '*st'
        type: struct sip_strans
      - name: '*auth'
        type: struct sip_auth
      - name: '*sip'
        type: struct sip
      - name: '*cuser'
        type: char
      - name: '*ctype'
        type: char
      - name: '*close_hdrs'
        type: char
      - name: '*hdrs'
        type: struct mbuf
      - name: '*desc'
        type: struct mbuf
      - name: '*offerh'
        type: sipsess_offer_h
      - name: '*answerh'
        type: sipsess_answer_h
      - name: '*progrh'
        type: sipsess_progr_h
      - name: '*estabh'
        type: sipsess_estab_h
      - name: '*infoh'
        type: sipsess_info_h
      - name: '*referh'
        type: sipsess_refer_h
      - name: '*closeh'
        type: sipsess_close_h
      - name: '*arg'
        type: void
      - name: owner
        type: bool
      - name: sent_offer
        type: bool
      - name: awaiting_answer
        type: bool
      - name: modify_pending
        type: bool
      - name: established
        type: bool
      - name: peerterm
        type: bool
      - name: terminated
        type: int
      item_type: struct
      name: sipsess
      pos:
        line_end: 40
        line_start: 7
        source_file: /src/rtpproxy/external/libre/src/sipsess/sipsess.h
    - fields:
      - name: '*lsnr_resp'
        type: struct sip_lsnr
      - name: '*lsnr_req'
        type: struct sip_lsnr
      - name: '*ht_sess'
        type: struct hash
      - name: '*ht_ack'
        type: struct hash
      - name: '*sip'
        type: struct sip
      - name: '*connh'
        type: sipsess_conn_h
      - name: '*arg'
        type: void
      item_type: struct
      name: sipsess_sock
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/rtpproxy/external/libre/src/sipsess/sipsess.h
    - fields:
      - name: le
        type: struct le
      - name: ls
        type: struct sip_loopstate
      - name: '*sess'
        type: struct sipsess
      - name: '*req'
        type: struct sip_request
      - name: '*ctype'
        type: char
      - name: '*body'
        type: struct mbuf
      - name: '*resph'
        type: sip_resp_h
      - name: '*arg'
        type: void
      item_type: struct
      name: sipsess_request
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/rtpproxy/external/libre/src/sipsess/sipsess.h
    typedefs: []
    union: []
- function_names:
  - internal_offer_handler
  - internal_answer_handler
  - internal_progress_handler
  - internal_establish_handler
  - internal_close_handler
  - termwait
  - terminate
  - destructor
  - sipsess_alloc
  - sipsess_terminate
  - sipsess_dialog
  - sipsess_set_close_headers
  source_file: /src/rtpproxy/external/libre/src/sipsess/sess.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cancel_handler
  - sipsess_accept
  - sipsess_progress
  - sipsess_answer
  - sipsess_reject
  source_file: /src/rtpproxy/external/libre/src/sipsess/accept.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bye_resp_handler
  - sipsess_bye
  source_file: /src/rtpproxy/external/libre/src/sipsess/close.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - info_resp_handler
  - info_request
  - sipsess_info
  source_file: /src/rtpproxy/external/libre/src/sipsess/info.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - internal_connect_handler
  - cmp_handler
  - sipsess_find
  - info_handler
  - refer_handler
  - bye_handler
  - ack_handler
  - reinvite_handler
  - invite_handler
  - request_handler
  - response_handler
  - sipsess_listen
  - sipsess_close_all
  source_file: /src/rtpproxy/external/libre/src/sipsess/listen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tmr_handler
  - reinvite_resp_handler
  - send_handler
  - sipsess_reinvite
  - sipsess_modify
  source_file: /src/rtpproxy/external/libre/src/sipsess/modify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send_handler
  - invite_resp_handler
  - invite
  - sipsess_connect
  source_file: /src/rtpproxy/external/libre/src/sipsess/connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - internal_resp_handler
  - sipsess_request_alloc
  source_file: /src/rtpproxy/external/libre/src/sipsess/request.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/ice/ice.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - candpairs_form
  - cand_srflx_addr
  - unique_handler
  - candpair_prune
  - ice_candpair_set_states
  - icem_checklist_form
  - iscompleted
  - concluding_ice
  - icem_checklist_update
  - icem_selected_laddr
  - icem_selected_lcand
  - icem_selected_rcand
  source_file: /src/rtpproxy/external/libre/src/ice/chklist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/ice/chklist.c
      type_or_value: '"chklist"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/chklist.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - candpair_destructor
  - sort_handler
  - candpair_set_pprio
  - list_add_sorted
  - icem_candpair_alloc
  - icem_candpair_clone
  - icem_candpair_prio_order
  - icem_candpair_cancel
  - icem_candpair_make_valid
  - icem_candpair_failed
  - icem_candpair_set_state
  - icem_candpairs_flush
  - icem_candpair_iscompleted
  - icem_candpair_cmp
  - icem_candpair_find
  - icem_candpair_find_st
  - icem_candpair_find_compid
  - icem_candpair_find_rcand
  - icem_candpair_cmp_fnd
  - icem_candpair_debug
  - icem_candpairs_debug
  source_file: /src/rtpproxy/external/libre/src/ice/candpair.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/ice/candpair.c
      type_or_value: '"cndpair"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/candpair.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cand_destructor
  - compute_foundation
  - cand_alloc
  - icem_lcand_add_base
  - icem_lcand_add
  - icem_rcand_add
  - icem_rcand_add_prflx
  - icem_cand_find
  - icem_lcand_find_checklist
  - icem_lcand_base
  - icem_lcand_addr
  - icem_cands_debug
  - icem_cand_print
  - icem_cand_type
  source_file: /src/rtpproxy/external/libre/src/ice/cand.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/ice/cand.c
      type_or_value: '"icecand"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/ice/cand.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - transp_name
  - transp_resolve
  - ice_cand_encode
  - ice_remotecands_avail
  - ice_remotecands_encode
  - ufrag_decode
  - pwd_decode
  - media_ufrag_decode
  - media_pwd_decode
  - cand_decode
  - ice_sdp_decode
  - icem_sdp_decode
  - ice_tcptype_name
  - ice_tcptype_resolve
  - ice_cand_attr_encode
  - ice_cand_attr_decode
  source_file: /src/rtpproxy/external/libre/src/ice/icesdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/icesdp.c
      type_or_value: '"icesdp"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/ice/icesdp.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ice_cand_type2name
  - ice_cand_name2type
  - ice_mode2name
  - ice_role2name
  - ice_candpair_state2name
  - ice_checkl_state2name
  source_file: /src/rtpproxy/external/libre/src/ice/icestr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - triggered_check
  - handle_stun_full
  - handle_stun_lite
  - stunsrv_ereply
  - icem_stund_recv
  source_file: /src/rtpproxy/external/libre/src/ice/stunsrv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/stunsrv.c
      type_or_value: '"stunsrv"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/ice/stunsrv.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - type_prio
  - ice_cand_calc_prio
  - ice_calc_pair_prio
  - ice_switch_local_role
  - ice_list_unique
  source_file: /src/rtpproxy/external/libre/src/ice/util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/ice/util.c
      type_or_value: '"iceutil"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/ice/util.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - helper_recv_handler
  - destructor
  - cand_default
  - icem_comp_alloc
  - icem_comp_set_default_cand
  - icem_comp_set_default_rcand
  - icem_comp_set_selected
  - icem_comp_find
  - timeout
  - icem_comp_keepalive
  - icecomp_printf
  - icecomp_debug
  - icem_set_turn_client
  source_file: /src/rtpproxy/external/libre/src/ice/comp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/src/ice/comp.c
      type_or_value: '"icecomp"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/libre/src/ice/comp.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ice_determine_role
  - icem_destructor
  - icem_alloc
  - icem_conf
  - icem_local_role
  - icem_set_conf
  - icem_set_role
  - icem_set_name
  - icem_comp_add
  - icem_cand_add
  - unique_handler
  - icem_cand_redund_elim
  - icem_cand_default
  - icem_verify_support
  - icem_add_chan
  - purge_relayed
  - icem_update
  - icem_mismatch
  - icem_debug
  - icem_lcandl
  - icem_rcandl
  - icem_checkl
  - icem_validl
  - icem_lite_set_default_candidates
  - icem_comps_set_default_cand
  - icem_stun
  - icem_printf
  source_file: /src/rtpproxy/external/libre/src/ice/icem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/ice/icem.c
      type_or_value: '"icem"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/icem.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/ice/ice.h
  types:
    enum:
    - enumerators:
      - name: ICE_CHECKLIST_NULL
        value: '-1'
      - name: ICE_CHECKLIST_FAILED
      - name: ICE_CHECKLIST_COMPLETED
      - name: ICE_CHECKLIST_RUNNING
      item_type: enum
      name: ice_checkl_state
      pos:
        line_end: 17
        line_start: 12
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
    - enumerators:
      - name: ICE_TRANSP_NONE
        value: '-1'
      - name: ICE_TRANSP_UDP
        value: IPPROTO_UDP
      item_type: enum
      name: ice_transp
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
    preproc_defs:
    - item_type: preproc_def
      name: ICE_TRACE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
      type_or_value: '1    '
    structs:
    - fields:
      - name: le
        type: struct le
      - name: '*icem'
        type: struct icem
      - name: '*def_lcand'
        type: struct ice_cand
      - name: '*def_rcand'
        type: struct ice_cand
      - name: '*cp_sel'
        type: struct ice_candpair
      - name: '*uh'
        type: struct udp_helper
      - name: '*sock'
        type: void
      - name: lport
        type: uint16_t
      - name: id
        type: unsigned
      - name: concluded
        type: bool
      - name: '*turnc'
        type: struct turnc
      - name: tmr_ka
        type: struct tmr
      item_type: struct
      name: icem_comp
      pos:
        line_end: 49
        line_start: 36
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
    - fields:
      - name: conf
        type: struct ice_conf
      - name: '*stun'
        type: struct stun
      - name: stun_srv
        type: struct sa
      - name: lcandl
        type: struct list
      - name: rcandl
        type: struct list
      - name: checkl
        type: struct list
      - name: validl
        type: struct list
      - name: tiebrk
        type: uint64_t
      - name: mismatch
        type: bool
      - name: lmode
        type: enum ice_mode
      - name: rmode
        type: enum ice_mode
      - name: lrole
        type: enum ice_role
      - name: tmr_pace
        type: struct tmr
      - name: proto
        type: int
      - name: layer
        type: int
      - name: state
        type: enum ice_checkl_state
      - name: compl
        type: struct list
      - name: '*lufrag'
        type: char
      - name: '*lpwd'
        type: char
      - name: '*rufrag'
        type: char
      - name: '*rpwd'
        type: char
      - name: '*chkh'
        type: ice_connchk_h
      - name: '*arg'
        type: void
      - name: name[32]
        type: char
      item_type: struct
      name: icem
      pos:
        line_end: 77
        line_start: 52
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
    - fields:
      - name: le
        type: struct le
      - name: type
        type: enum ice_cand_type
      - name: prio
        type: uint32_t
      - name: '*foundation'
        type: char
      - name: compid
        type: unsigned
      - name: rel
        type: struct sa
      - name: addr
        type: struct sa
      - name: transp
        type: enum ice_transp
      - name: '*base'
        type: struct ice_cand
      - name: '*ifname'
        type: char
      item_type: struct
      name: ice_cand
      pos:
        line_end: 93
        line_start: 80
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
    - fields:
      - name: le
        type: struct le
      - name: '*icem'
        type: struct icem
      - name: '*comp'
        type: struct icem_comp
      - name: '*lcand'
        type: struct ice_cand
      - name: '*rcand'
        type: struct ice_cand
      - name: def
        type: bool
      - name: valid
        type: bool
      - name: nominated
        type: bool
      - name: state
        type: enum ice_candpair_state
      - name: pprio
        type: uint64_t
      - name: '*ct_conn'
        type: struct stun_ctrans
      - name: err
        type: int
      - name: scode
        type: uint16_t
      item_type: struct
      name: ice_candpair
      pos:
        line_end: 110
        line_start: 96
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
    typedefs:
    - item_type: typedef
      name: '* (list_unique_h)(struct le *le1, struct le *le2)'
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/rtpproxy/external/libre/src/ice/ice.h
      type: void
    union: []
- function_names:
  - pace_next
  - construct_valid_pair
  - handle_success
  - print_err
  - stunc_resp_handler
  - icem_conncheck_send
  - abort_ice
  - do_check
  - icem_conncheck_schedule_check
  - pace_timeout
  - icem_conncheck_start
  - icem_conncheck_continue
  - icem_conncheck_stop
  source_file: /src/rtpproxy/external/libre/src/ice/connchk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/src/ice/connchk.c
      type_or_value: '"connchk"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/src/ice/connchk.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - odict_entry_add
  - odict_entry_del
  - odict_entry_debug
  source_file: /src/rtpproxy/external/libre/src/odict/entry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - odict_type_iscontainer
  - odict_type_isreal
  - odict_type_name
  source_file: /src/rtpproxy/external/libre/src/odict/type.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - odict_get_type
  - odict_string
  - odict_get_number
  - odict_get_boolean
  source_file: /src/rtpproxy/external/libre/src/odict/get.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - destructor
  - odict_alloc
  - odict_lookup
  - odict_count
  - odict_debug
  source_file: /src/rtpproxy/external/libre/src/odict/odict.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - container_add
  - object_handler
  - array_handler
  - entry_add
  - object_entry_handler
  - array_entry_handler
  - json_decode_odict
  source_file: /src/rtpproxy/external/libre/src/json/decode_odict.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mypower10
  - is_string
  - is_number
  - decode_name
  - decode_value
  - object_entry
  - array_entry
  - object_start
  - array_start
  - chkval
  - _json_decode
  - json_decode
  source_file: /src/rtpproxy/external/libre/src/json/decode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - encode_entry
  - json_encode_odict
  source_file: /src/rtpproxy/external/libre/src/json/encode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/httpauth/basic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - challenge_decode
  - response_decode
  - digest_decode
  - httpauth_digest_challenge_decode
  - httpauth_digest_response_decode
  - httpauth_digest_response_auth
  source_file: /src/rtpproxy/external/libre/src/httpauth/digest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(digest_decode_h)(const struct pl *name, const struct pl *val,\n\t\t\t
        \      void *arg)"
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/libre/src/httpauth/digest.c
      type: void
    union: []
- function_names:
  - inspos_handler
  - inspos_handler_0
  - call_handler
  - tmr_poll
  - tmr_jiffies
  - tmr_next_timeout
  - tmr_status
  - tmr_debug
  - tmr_init
  - tmr_start
  - tmr_cancel
  - tmr_get_expire
  source_file: /src/rtpproxy/external/libre/src/tmr/tmr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rtpproxy/external/libre/src/tmr/tmr.c
      type_or_value: '"tmr"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/src/tmr/tmr.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TMR_DEBUG
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/external/libre/src/tmr/tmr.c
      type_or_value: '1  '
    structs: []
    typedefs: []
    union: []
- function_names:
  - internal_notify_handler
  - internal_close_handler
  - terminate
  - destructor
  - notify_timeout_handler
  - tmr_handler
  - sipsub_reschedule
  - sipsub_terminate
  - response_handler
  - send_handler
  - print_event
  - request
  - sipsub_alloc
  - sipevent_subscribe
  - sipevent_dsubscribe
  - sipevent_refer
  - sipevent_drefer
  - sipevent_fork
  source_file: /src/rtpproxy/external/libre/src/sipevent/subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/src/sipevent/sipevent.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*lsnr'
        type: struct sip_lsnr
      - name: '*ht_not'
        type: struct hash
      - name: '*ht_sub'
        type: struct hash
      - name: '*sip'
        type: struct sip
      - name: '*subh'
        type: sip_msg_h
      - name: '*arg'
        type: void
      item_type: struct
      name: sipevent_sock
      pos:
        line_end: 15
        line_start: 8
        source_file: /src/rtpproxy/external/libre/src/sipevent/sipevent.h
    - fields:
      - name: he
        type: struct le
      - name: ls
        type: struct sip_loopstate
      - name: tmr
        type: struct tmr
      - name: '*sock'
        type: struct sipevent_sock
      - name: '*req'
        type: struct sip_request
      - name: '*dlg'
        type: struct sip_dialog
      - name: '*auth'
        type: struct sip_auth
      - name: '*sip'
        type: struct sip
      - name: '*mb'
        type: struct mbuf
      - name: '*event'
        type: char
      - name: '*id'
        type: char
      - name: '*cuser'
        type: char
      - name: '*hdrs'
        type: char
      - name: '*ctype'
        type: char
      - name: '*closeh'
        type: sipnot_close_h
      - name: '*arg'
        type: void
      - name: expires
        type: uint32_t
      - name: expires_min
        type: uint32_t
      - name: expires_dfl
        type: uint32_t
      - name: expires_max
        type: uint32_t
      - name: retry_after
        type: uint32_t
      - name: substate
        type: enum sipevent_subst
      - name: reason
        type: enum sipevent_reason
      - name: notify_pending
        type: bool
      - name: subscribed
        type: bool
      - name: terminated
        type: bool
      - name: termsent
        type: bool
      item_type: struct
      name: sipnot
      pos:
        line_end: 48
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/sipevent/sipevent.h
    - fields:
      - name: he
        type: struct le
      - name: ls
        type: struct sip_loopstate
      - name: tmr
        type: struct tmr
      - name: '*sock'
        type: struct sipevent_sock
      - name: '*req'
        type: struct sip_request
      - name: '*dlg'
        type: struct sip_dialog
      - name: '*auth'
        type: struct sip_auth
      - name: '*sip'
        type: struct sip
      - name: '*event'
        type: char
      - name: '*id'
        type: char
      - name: '*cuser'
        type: char
      - name: '*hdrs'
        type: char
      - name: '*refer_hdrs'
        type: char
      - name: '*forkh'
        type: sipsub_fork_h
      - name: '*notifyh'
        type: sipsub_notify_h
      - name: '*closeh'
        type: sipsub_close_h
      - name: '*arg'
        type: void
      - name: refer_cseq
        type: int32_t
      - name: expires
        type: uint32_t
      - name: failc
        type: uint32_t
      - name: subscribed
        type: bool
      - name: terminated
        type: bool
      - name: termconf
        type: bool
      - name: termwait
        type: bool
      - name: refer
        type: bool
      item_type: struct
      name: sipsub
      pos:
        line_end: 84
        line_start: 58
        source_file: /src/rtpproxy/external/libre/src/sipevent/sipevent.h
    typedefs: []
    union: []
- function_names:
  - destructor
  - event_cmp
  - not_cmp_handler
  - sub_cmp_handler
  - sub_cmp_half_handler
  - sipnot_find
  - sipsub_find
  - notify_handler
  source_file: /src/rtpproxy/external/libre/src/sipevent/listen.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*evt'
        type: struct sipevent_event
      - name: '*msg'
        type: struct sip_msg
      item_type: struct
      name: subcmp
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/rtpproxy/external/libre/src/sipevent/listen.c
    typedefs: []
    union: []
- function_names:
  - sipevent_event_decode
  - sipevent_substate_decode
  - sipevent_substate_name
  - sipevent_reason_name
  source_file: /src/rtpproxy/external/libre/src/sipevent/msg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - internal_close_handler
  - terminate
  - destructor
  - sipnot_terminate
  - tmr_handler
  - sipnot_refresh
  - response_handler
  - sipnot_terminate
  - send_handler
  - print_event
  - print_substate
  - print_content
  - notify_request
  - sipnot_notify
  - sipnot_reply
  - sipevent_accept
  - sipevent_notify
  - sipevent_notifyf
  source_file: /src/rtpproxy/external/libre/src/sipevent/notify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_lock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_rtp.h
  types:
    enum:
    - enumerators:
      - name: RTCP_FIR
        value: '192'
      - name: RTCP_RR
        value: '201'
      - name: RTCP_SDES
        value: '202'
      - name: RTCP_NACK
        value: '193'
      - name: RTCP_SR
        value: '200'
      - name: RTCP_BYE
        value: '203'
      - name: RTCP_APP
        value: '204'
      - name: RTCP_RTPFB
        value: '205'
      - name: RTCP_PSFB
        value: '206'
      - name: RTCP_XR
        value: '207'
      - name: RTCP_AVB
        value: '208'
      item_type: enum
      name: rtcp_type
      pos:
        line_end: 46
        line_start: 34
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - enumerators:
      - name: RTCP_SDES_END
        value: '0'
      - name: RTCP_SDES_NAME
        value: '2'
      - name: RTCP_SDES_EMAIL
        value: '3'
      - name: RTCP_SDES_PHONE
        value: '4'
      - name: RTCP_SDES_CNAME
        value: '1'
      - name: RTCP_SDES_LOC
        value: '5'
      - name: RTCP_SDES_TOOL
        value: '6'
      - name: RTCP_SDES_NOTE
        value: '7'
      - name: RTCP_SDES_PRIV
        value: '8'
      item_type: enum
      name: rtcp_sdes_type
      pos:
        line_end: 59
        line_start: 49
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - enumerators:
      - name: RTCP_RTPFB_GNACK
        value: '1'
      item_type: enum
      name: rtcp_rtpfb
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - enumerators:
      - name: RTCP_PSFB_PLI
        value: '1'
      - name: RTCP_PSFB_AFB
        value: '15'
      - name: RTCP_PSFB_SLI
        value: '2'
      item_type: enum
      name: rtcp_psfb
      pos:
        line_end: 71
        line_start: 67
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    preproc_defs: []
    structs:
    - fields:
      - name: ver
        type: uint8_t
      - name: pad
        type: bool
      - name: ext
        type: bool
      - name: cc
        type: uint8_t
      - name: m
        type: bool
      - name: pt
        type: uint8_t
      - name: seq
        type: uint16_t
      - name: ts
        type: uint32_t
      - name: ssrc
        type: uint32_t
      - name: csrc[16]
        type: uint32_t
      - name: x
        type: "struct {\n\t\tuint16_t type;  /**< Defined by profile     */\n\t\tuint16_t
          len;   /**< Number of 32-bit words */\n\t}"
      item_type: struct
      name: rtp_header
      pos:
        line_end: 31
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: ssrc
        type: uint32_t
      - name: fraction
        type: unsigned int
      - name: lost
        type: int
      - name: last_seq
        type: uint32_t
      - name: jitter
        type: uint32_t
      - name: lsr
        type: uint32_t
      - name: dlsr
        type: uint32_t
      item_type: struct
      name: rtcp_rr
      pos:
        line_end: 82
        line_start: 74
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: type
        type: enum rtcp_sdes_type
      - name: length
        type: uint8_t
      - name: '*data'
        type: char
      item_type: struct
      name: rtcp_sdes_item
      pos:
        line_end: 89
        line_start: 85
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: hdr
        type: "struct rtcp_hdr {\n\t\tunsigned int version:2;  /**< Protocol version
          \      */\n\t\tunsigned int p:1;        /**< Padding flag           */\n\t\tunsigned
          int count:5;    /**< Varies by packet type  */\n\t\tunsigned int pt:8;       /**<
          RTCP packet type       */\n\t\tuint16_t length;         /**< Packet length
          in words */\n\t}"
      - name: r
        type: "union {\n\t\t/** Sender report (SR) */\n\t\tstruct {\n\t\t\tuint32_t
          ssrc;        /**< Sender generating report  */\n\t\t\tuint32_t ntp_sec;
          \    /**< NTP timestamp - seconds   */\n\t\t\tuint32_t ntp_frac;    /**<
          NTP timestamp - fractions */\n\t\t\tuint32_t rtp_ts;      /**< RTP timestamp
          \            */\n\t\t\tuint32_t psent;       /**< RTP packets sent          */\n\t\t\tuint32_t
          osent;       /**< RTP octets sent           */\n\t\t\tstruct rtcp_rr *rrv;
          \ /**< Reception report blocks   */\n\t\t} sr;\n\n\t\t/** Reception report
          (RR) */\n\t\tstruct {\n\t\t\tuint32_t ssrc;        /**< Receiver generating
          report*/\n\t\t\tstruct rtcp_rr *rrv;  /**< Reception report blocks   */\n\t\t}
          rr;\n\n\t\t/** Source Description (SDES) */\n\t\tstruct rtcp_sdes {\n\t\t\tuint32_t
          src;         /**< First SSRC/CSRC           */\n\t\t\tstruct rtcp_sdes_item
          *itemv;  /**< SDES items       */\n\t\t\tuint32_t n;           /**< Number
          of SDES items      */\n\t\t} *sdesv;\n\n\t\t/** BYE */\n\t\tstruct {\n\t\t\tuint32_t
          *srcv;    /**< List of sources              */\n\t\t\tchar *reason;      /**<
          Reason for leaving (opt.)    */\n\t\t} bye;\n\n\t\t/** Application-defined
          (APP) */\n\t\tstruct {\n\t\t\tuint32_t src;      /**< SSRC/CSRC                  */\n\t\t\tchar
          name[4];      /**< Name (ASCII)               */\n\t\t\tuint8_t *data;     /**<
          Application data (32 bits) */\n\t\t\tsize_t data_len;   /**< Number of data
          bytes       */\n\t\t} app;\n\n\t\t/** Full INTRA-frame Request (FIR) packet
          */\n\t\tstruct {\n\t\t\tuint32_t ssrc;  /**< SSRC for sender of this packet
          */\n\t\t} fir;\n\n\t\t/** Negative ACKnowledgements (NACK) packet */\n\t\tstruct
          {\n\t\t\tuint32_t ssrc;  /**< SSRC for sender of this packet */\n\t\t\tuint16_t
          fsn;   /**< First Sequence Number lost     */\n\t\t\tuint16_t blp;   /**<
          Bitmask of lost packets        */\n\t\t} nack;\n\n\t\t/** Feedback (RTPFB
          or PSFB) packet */\n\t\tstruct {\n\t\t\tuint32_t ssrc_packet;\n\t\t\tuint32_t
          ssrc_media;\n\t\t\tuint32_t n;\n\t\t\t/** Feedback Control Information (FCI)
          */\n\t\t\tunion {\n\t\t\t\tstruct gnack {\n\t\t\t\t\tuint16_t pid;\n\t\t\t\t\tuint16_t
          blp;\n\t\t\t\t} *gnackv;\n\t\t\t\tstruct sli {\n\t\t\t\t\tuint16_t first;\n\t\t\t\t\tuint16_t
          number;\n\t\t\t\t\tuint8_t picid;\n\t\t\t\t} *sliv;\n\t\t\t\tstruct mbuf
          *afb;\n\t\t\t\tvoid *p;\n\t\t\t} fci;\n\t\t} fb;\n\t}"
      item_type: struct
      name: rtcp_msg
      pos:
        line_end: 173
        line_start: 92
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: version
        type: unsigned int
      - name: p
        type: unsigned int
      - name: count
        type: unsigned int
      - name: pt
        type: unsigned int
      - name: length
        type: uint16_t
      item_type: struct
      name: rtcp_hdr
      pos:
        line_end: 100
        line_start: 94
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: src
        type: uint32_t
      - name: '*itemv'
        type: struct rtcp_sdes_item
      - name: n
        type: uint32_t
      item_type: struct
      name: rtcp_sdes
      pos:
        line_end: 124
        line_start: 120
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: pid
        type: uint16_t
      - name: blp
        type: uint16_t
      item_type: struct
      name: gnack
      pos:
        line_end: 162
        line_start: 159
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: first
        type: uint16_t
      - name: number
        type: uint16_t
      - name: picid
        type: uint8_t
      item_type: struct
      name: sli
      pos:
        line_end: 167
        line_start: 163
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    - fields:
      - name: tx
        type: "struct {\n\t\tuint32_t sent;  /**< Tx RTP Packets                  */\n\t\tint
          lost;       /**< Tx RTP Packets Lost             */\n\t\tuint32_t jit;   /**<
          Tx Inter-arrival Jitter in [us] */\n\t}"
      - name: rx
        type: "struct {\n\t\tuint32_t sent;  /**< Rx RTP Packets                  */\n\t\tint
          lost;       /**< Rx RTP Packets Lost             */\n\t\tuint32_t jit;   /**<
          Rx Inter-Arrival Jitter in [us] */\n\t}"
      - name: rtt
        type: uint32_t
      item_type: struct
      name: rtcp_stats
      pos:
        line_end: 188
        line_start: 176
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
    typedefs:
    - item_type: typedef
      name: "(rtp_recv_h)(const struct sa *src, const struct rtp_header *hdr,\n\t\t\t
        \ struct mbuf *mb, void *arg)"
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
      type: void
    - item_type: typedef
      name: "(rtcp_recv_h)(const struct sa *src, struct rtcp_msg *msg,\n\t\t\t   void
        *arg)"
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/rtpproxy/external/libre/include/re_rtp.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sa.h
  types:
    enum:
    - enumerators:
      - name: SA_ADDR
        value: 1<<0
      - name: SA_PORT
        value: 1<<1
      - name: SA_ALL
        value: SA_ADDR | SA_PORT
      item_type: enum
      name: sa_flag
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/rtpproxy/external/libre/include/re_sa.h
    preproc_defs: []
    structs:
    - fields:
      - name: u
        type: "union {\n\t\tstruct sockaddr sa;\n\t\tstruct sockaddr_in in;\n#ifdef
          HAVE_INET6\n\t\tstruct sockaddr_in6 in6;\n#endif\n\t\tuint8_t padding[28];\n\t}"
      - name: len
        type: socklen_t
      item_type: struct
      name: sa
      pos:
        line_end: 35
        line_start: 25
        source_file: /src/rtpproxy/external/libre/include/re_sa.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_base64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sip.h
  types:
    enum:
    - enumerators:
      - name: SIP_TRANSP_NONE
        value: '-1'
      - name: SIP_TRANSP_TLS
      - name: SIP_TRANSP_TCP
      - name: SIP_TRANSP_UDP
        value: '0'
      - name: SIP_TRANSPC
      item_type: enum
      name: sip_transp
      pos:
        line_end: 19
        line_start: 13
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - enumerators:
      - name: SIP_HDR_ANSWER_MODE
        value: '2905'
      - name: SIP_HDR_ERROR_INFO
        value: '21'
      - name: SIP_HDR_ORGANIZATION
        value: '3247'
      - name: SIP_HDR_P_PROFILE_KEY
        value: '1904'
      - name: SIP_HDR_REASON
        value: '3732'
      - name: SIP_HDR_SECURITY_SERVER
        value: '811'
      - name: SIP_HDR_VIA
        value: '3961'
      - name: SIP_HDR_PRIORITY
        value: '3520'
      - name: SIP_HDR_CONTACT
        value: '229'
      - name: SIP_HDR_IDENTITY
        value: '2362'
      - name: SIP_HDR_REPLY_TO
        value: '2404'
      - name: SIP_HDR_P_CHARGING_VECTOR
        value: '25'
      - name: SIP_HDR_SUBJECT
        value: '1043'
      - name: SIP_HDR_P_MEDIA_AUTHORIZATION
        value: '1035'
      - name: SIP_HDR_ALLOW
        value: '2429'
      - name: SIP_HDR_DATE
        value: '1027'
      - name: SIP_HDR_MIN_EXPIRES
        value: '1121'
      - name: SIP_HDR_RSEQ
        value: '445'
      - name: SIP_HDR_UNSUPPORTED
        value: '982'
      - name: SIP_HDR_P_CALLED_PARTY_ID
        value: '3347'
      - name: SIP_HDR_PATH
        value: '2741'
      - name: SIP_HDR_REJECT_CONTACT
        value: '285'
      - name: SIP_HDR_CALL_ID
        value: '3095'
      - name: SIP_HDR_HIDE
        value: '283'
      - name: SIP_HDR_SIP_ETAG
        value: '1997'
      - name: SIP_HDR_ACCEPT_RESOURCE_PRIORITY
        value: '1848'
      - name: SIP_HDR_CONTENT_TYPE
        value: '809'
      - name: SIP_HDR_MAX_FORWARDS
        value: '3549'
      - name: SIP_HDR_P_DCS_REDIRECT
        value: '1872'
      - name: SIP_HDR_PROXY_REQUIRE
        value: '3562'
      - name: SIP_HDR_RETRY_AFTER
        value: '409'
      - name: SIP_HDR_TO
        value: '1449'
      - name: SIP_HDR_ACCEPT
        value: '3186'
      - name: SIP_HDR_FLOW_TIMER
        value: '584'
      - name: SIP_HDR_P_ASSERTED_IDENTITY
        value: '1233'
      - name: SIP_HDR_P_USER_DATABASE
        value: '2827'
      - name: SIP_HDR_REFER_TO
        value: '1521'
      - name: SIP_HDR_SERVICE_ROUTE
        value: '1655'
      - name: SIP_HDR_P_DCS_BILLING_INFO
        value: '2017'
      - name: SIP_HDR_PROXY_AUTHENTICATE
        value: '116'
      - name: SIP_HDR_ACCEPT_ENCODING
        value: '708'
      - name: SIP_HDR_CONTENT_LANGUAGE
        value: '3371'
      - name: SIP_HDR_JOIN
        value: '3479'
      - name: SIP_HDR_RESOURCE_PRIORITY
        value: '1643'
      - name: SIP_HDR_TARGET_DIALOG
        value: '3450'
      - name: SIP_HDR_RECORD_ROUTE
        value: '278'
      - name: SIP_HDR_AUTHENTICATION_INFO
        value: '3144'
      - name: SIP_HDR_EVENT
        value: '3286'
      - name: SIP_HDR_P_ACCESS_NETWORK_INFO
        value: '1662'
      - name: SIP_HDR_P_REFUSED_URI_LIST
        value: '1047'
      - name: SIP_HDR_SECURITY_VERIFY
        value: '519'
      - name: SIP_HDR_WARNING
        value: '2108'
      - name: SIP_HDR_CONTENT_DISPOSITION
        value: '1425'
      - name: SIP_HDR_IDENTITY_INFO
        value: '980'
      - name: SIP_HDR_P_DCS_TRACE_PARTY_ID
        value: '3027'
      - name: SIP_HDR_PRIV_ANSWER_MODE
        value: '2476'
      - name: SIP_HDR_REQUEST_DISPOSITION
        value: '3715'
      - name: SIP_HDR_SUBSCRIPTION_STATE
        value: '2884'
      - name: SIP_HDR_NONE
        value: '-1'
      - name: SIP_HDR_P_PREFERRED_IDENTITY
        value: '1263'
      - name: SIP_HDR_ALLOW_EVENTS
        value: '66'
      - name: SIP_HDR_ENCRYPTION
        value: '3125'
      - name: SIP_HDR_MIN_SE
        value: '2847'
      - name: SIP_HDR_SECURITY_CLIENT
        value: '1358'
      - name: SIP_HDR_USER_AGENT
        value: '4064'
      - name: SIP_HDR_REPLACES
        value: '2534'
      - name: SIP_HDR_CALL_INFO
        value: '586'
      - name: SIP_HDR_HISTORY_INFO
        value: '2582'
      - name: SIP_HDR_P_CHARGING_FUNCTION_ADDRESSES
        value: '2171'
      - name: SIP_HDR_PERMISSION_MISSING
        value: '1409'
      - name: SIP_HDR_SIP_IF_MATCH
        value: '3056'
      - name: SIP_HDR_P_EARLY_MEDIA
        value: '2622'
      - name: SIP_HDR_RACK
        value: '2523'
      - name: SIP_HDR_ALERT_INFO
        value: '274'
      - name: SIP_HDR_CSEQ
        value: '746'
      - name: SIP_HDR_MIME_VERSION
        value: '3659'
      - name: SIP_HDR_ROUTE
        value: '661'
      - name: SIP_HDR_TRIGGER_CONSENT
        value: '3180'
      - name: SIP_HDR_FROM
        value: '1963'
      - name: SIP_HDR_P_ASSOCIATED_URI
        value: '900'
      - name: SIP_HDR_P_VISITED_NETWORK_ID
        value: '3867'
      - name: SIP_HDR_REFERRED_BY
        value: '3456'
      - name: SIP_HDR_SESSION_EXPIRES
        value: '1979'
      - name: SIP_HDR_PROXY_AUTHORIZATION
        value: '2363'
      - name: SIP_HDR_ACCEPT_LANGUAGE
        value: '2867'
      - name: SIP_HDR_CONTENT_LENGTH
        value: '3861'
      - name: SIP_HDR_MAX_BREADTH
        value: '3701'
      - name: SIP_HDR_P_DCS_LAES
        value: '693'
      - name: SIP_HDR_RESPONSE_KEY
        value: '1548'
      - name: SIP_HDR_TIMESTAMP
        value: '938'
      - name: SIP_HDR_REFER_SUB
        value: '2458'
      - name: SIP_HDR_AUTHORIZATION
        value: '2503'
      - name: SIP_HDR_EXPIRES
        value: '1983'
      - name: SIP_HDR_P_ANSWER_STATE
        value: '42'
      - name: SIP_HDR_P_SERVED_USER
        value: '1588'
      - name: SIP_HDR_SERVER
        value: '973'
      - name: SIP_HDR_WWW_AUTHENTICATE
        value: '2763'
      - name: SIP_HDR_P_DCS_OSPS
        value: '1788'
      - name: SIP_HDR_ACCEPT_CONTACT
        value: '232'
      - name: SIP_HDR_CONTENT_ENCODING
        value: '580'
      - name: SIP_HDR_IN_REPLY_TO
        value: '1577'
      - name: SIP_HDR_PRIVACY
        value: '3150'
      - name: SIP_HDR_REQUIRE
        value: '3905'
      - name: SIP_HDR_SUPPORTED
        value: '119'
      item_type: enum
      name: sip_hdrid
      pos:
        line_end: 129
        line_start: 23
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    preproc_defs: []
    structs:
    - fields:
      - name: sentby
        type: struct pl
      - name: addr
        type: struct sa
      - name: params
        type: struct pl
      - name: branch
        type: struct pl
      - name: val
        type: struct pl
      - name: tp
        type: enum sip_transp
      item_type: struct
      name: sip_via
      pos:
        line_end: 147
        line_start: 140
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: dname
        type: struct pl
      - name: auri
        type: struct pl
      - name: uri
        type: struct uri
      - name: params
        type: struct pl
      item_type: struct
      name: sip_addr
      pos:
        line_end: 155
        line_start: 150
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: dname
        type: struct pl
      - name: auri
        type: struct pl
      - name: uri
        type: struct uri
      - name: params
        type: struct pl
      - name: tag
        type: struct pl
      - name: val
        type: struct pl
      item_type: struct
      name: sip_taddr
      pos:
        line_end: 165
        line_start: 158
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: met
        type: struct pl
      - name: num
        type: uint32_t
      item_type: struct
      name: sip_cseq
      pos:
        line_end: 171
        line_start: 168
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: le
        type: struct le
      - name: he
        type: struct le
      - name: name
        type: struct pl
      - name: val
        type: struct pl
      - name: id
        type: enum sip_hdrid
      item_type: struct
      name: sip_hdr
      pos:
        line_end: 180
        line_start: 174
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: src
        type: struct sa
      - name: dst
        type: struct sa
      - name: ver
        type: struct pl
      - name: met
        type: struct pl
      - name: ruri
        type: struct pl
      - name: uri
        type: struct uri
      - name: scode
        type: uint16_t
      - name: reason
        type: struct pl
      - name: hdrl
        type: struct list
      - name: via
        type: struct sip_via
      - name: to
        type: struct sip_taddr
      - name: from
        type: struct sip_taddr
      - name: cseq
        type: struct sip_cseq
      - name: ctyp
        type: struct msg_ctype
      - name: callid
        type: struct pl
      - name: maxfwd
        type: struct pl
      - name: expires
        type: struct pl
      - name: clen
        type: struct pl
      - name: '*hdrht'
        type: struct hash
      - name: '*mb'
        type: struct mbuf
      - name: '*sock'
        type: void
      - name: tag
        type: uint64_t
      - name: tp
        type: enum sip_transp
      - name: req
        type: bool
      item_type: struct
      name: sip_msg
      pos:
        line_end: 208
        line_start: 183
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: failc
        type: uint32_t
      - name: last_scode
        type: uint16_t
      item_type: struct
      name: sip_loopstate
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    - fields:
      - name: '*uri'
        type: char
      - name: '*addr'
        type: struct sa
      - name: tp
        type: enum sip_transp
      item_type: struct
      name: sip_contact
      pos:
        line_end: 221
        line_start: 217
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
    typedefs:
    - item_type: typedef
      name: (sip_msg_h)(const struct sip_msg *msg, void *arg)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: bool
    - item_type: typedef
      name: "(sip_send_h)(enum sip_transp tp, const struct sa *src,\n\t\t\tconst struct
        sa *dst, struct mbuf *mb, void *arg)"
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: int
    - item_type: typedef
      name: (sip_resp_h)(int err, const struct sip_msg *msg, void *arg)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: void
    - item_type: typedef
      name: (sip_cancel_h)(void *arg)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: void
    - item_type: typedef
      name: (sip_exit_h)(void *arg)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: void
    - item_type: typedef
      name: "(sip_auth_h)(char **username, char **password, const char *realm,\n\t\t\tvoid
        *arg)"
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: int
    - item_type: typedef
      name: "(sip_hdr_h)(const struct sip_hdr *hdr, const struct sip_msg *msg,\n\t\t\tvoid
        *arg)"
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: bool
    - item_type: typedef
      name: (sip_keepalive_h)(int err, void *arg)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/rtpproxy/external/libre/include/re_sip.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_natbd.h
  types:
    enum:
    - enumerators:
      - name: NAT_TYPE_UNKNOWN
        value: '0'
      - name: NAT_TYPE_ENDP_INDEP
        value: '1'
      - name: NAT_TYPE_ADDR_DEP
        value: '2'
      - name: NAT_TYPE_ADDR_PORT_DEP
        value: '3'
      item_type: enum
      name: nat_type
      pos:
        line_end: 13
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
    preproc_defs: []
    structs:
    - fields:
      - name: min
        type: uint32_t
      - name: cur
        type: uint32_t
      - name: max
        type: uint32_t
      item_type: struct
      name: nat_lifetime_interval
      pos:
        line_end: 88
        line_start: 84
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
    typedefs:
    - item_type: typedef
      name: (nat_hairpinning_h)(int err, bool supported, void *arg)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
      type: void
    - item_type: typedef
      name: (nat_mapping_h)(int err, enum nat_type map, void *arg)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
      type: void
    - item_type: typedef
      name: (nat_filtering_h)(int err, enum nat_type filt, void *arg)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
      type: void
    - item_type: typedef
      name: "(nat_lifetime_h)(int err, const struct nat_lifetime_interval *i,\n\t\t\t
        \     void *arg)"
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
      type: void
    - item_type: typedef
      name: "(nat_genalg_h)(int err, uint16_t scode, const char *reason,\n\t\t\t    int
        status, const struct sa *map, void *arg)"
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/rtpproxy/external/libre/include/re_natbd.h
      type: void
    union: []
- function_names:
  - MBUF_CHECK_POS
  - MBUF_CHECK_END
  - mbuf_buf
  - mbuf_get_left
  - mbuf_get_space
  - mbuf_set_pos
  - mbuf_set_end
  - mbuf_advance
  - mbuf_rewind
  - mbuf_skip_to_end
  source_file: /src/rtpproxy/external/libre/include/re_mbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBUF_DEBUG
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/include/re_mbuf.h
      type_or_value: '1  '
    structs:
    - fields:
      - name: '*buf'
        type: uint8_t
      - name: size
        type: size_t
      - name: pos
        type: size_t
      - name: end
        type: size_t
      item_type: struct
      name: mbuf
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/rtpproxy/external/libre/include/re_mbuf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_conf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (conf_h)(const struct pl *val, void *arg)
      pos:
        line_end: 9
        line_start: 9
        source_file: /src/rtpproxy/external/libre/include/re_conf.h
      type: int
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_md5.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BITV_NELEM
  - BITV_DECL
  - index2offset
  - index2bit
  - bitv_init
  - bitv_set
  - bitv_clr
  - bitv_assign
  - bitv_val
  - bitv_toggle
  - bitv_assign_range
  source_file: /src/rtpproxy/external/libre/include/re_bitv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: bitv_t
      pos:
        line_end: 7
        line_start: 7
        source_file: /src/rtpproxy/external/libre/include/re_bitv.h
      type: unsigned long
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sipreg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_tls.h
  types:
    enum:
    - enumerators:
      - name: TLS_METHOD_SSLV23
      - name: TLS_METHOD_DTLSV1
      - name: TLS_METHOD_DTLS
      - name: TLS_METHOD_DTLSV1_2
      item_type: enum
      name: tls_method
      pos:
        line_end: 19
        line_start: 14
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
    - enumerators:
      - name: TLS_FINGERPRINT_SHA1
      - name: TLS_FINGERPRINT_SHA256
      item_type: enum
      name: tls_fingerprint
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
    - enumerators:
      - name: TLS_KEYTYPE_RSA
      - name: TLS_KEYTYPE_EC
      item_type: enum
      name: tls_keytype
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (dtls_conn_h)(const struct sa *peer, void *arg)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
      type: void
    - item_type: typedef
      name: (dtls_estab_h)(void *arg)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
      type: void
    - item_type: typedef
      name: (dtls_recv_h)(struct mbuf *mb, void *arg)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
      type: void
    - item_type: typedef
      name: (dtls_close_h)(int err, void *arg)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/rtpproxy/external/libre/include/re_tls.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
  types:
    enum:
    - enumerators:
      - name: SIPEVENT_ACTIVE
        value: '0'
      - name: SIPEVENT_TERMINATED
      - name: SIPEVENT_PENDING
      item_type: enum
      name: sipevent_subst
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
    - enumerators:
      - name: SIPEVENT_DEACTIVATED
        value: '0'
      - name: SIPEVENT_GIVEUP
      - name: SIPEVENT_TIMEOUT
      - name: SIPEVENT_REJECTED
      - name: SIPEVENT_PROBATION
      - name: SIPEVENT_NORESOURCE
      item_type: enum
      name: sipevent_reason
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
    preproc_defs: []
    structs:
    - fields:
      - name: event
        type: struct pl
      - name: params
        type: struct pl
      - name: id
        type: struct pl
      item_type: struct
      name: sipevent_event
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
    - fields:
      - name: state
        type: enum sipevent_subst
      - name: reason
        type: enum sipevent_reason
      - name: expires
        type: struct pl
      - name: retry_after
        type: struct pl
      - name: params
        type: struct pl
      item_type: struct
      name: sipevent_substate
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
    typedefs:
    - item_type: typedef
      name: (sipnot_close_h)(int err, const struct sip_msg *msg, void *arg)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
      type: void
    - item_type: typedef
      name: "(sipsub_fork_h)(struct sipsub **subp, struct sipsub *osub,\n\t\t\t     const
        struct sip_msg *msg, void *arg)"
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
      type: int
    - item_type: typedef
      name: "(sipsub_notify_h)(struct sip *sip, const struct sip_msg *msg,\n\t\t\t
        \      void *arg)"
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
      type: void
    - item_type: typedef
      name: "(sipsub_close_h)(int err, const struct sip_msg *msg,\n\t\t\t      const
        struct sipevent_substate *substate,\n\t\t\t      void *arg)"
      pos:
        line_end: 86
        line_start: 84
        source_file: /src/rtpproxy/external/libre/include/re_sipevent.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_mem.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bytes_cur
        type: size_t
      - name: bytes_peak
        type: size_t
      - name: blocks_cur
        type: size_t
      - name: blocks_peak
        type: size_t
      - name: size_min
        type: size_t
      - name: size_max
        type: size_t
      item_type: struct
      name: memstat
      pos:
        line_end: 23
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_mem.h
    typedefs:
    - item_type: typedef
      name: (mem_destroy_h)(void *data)
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/rtpproxy/external/libre/include/re_mem.h
      type: void
    union: []
- function_names:
  - ARRAY_SIZE
  - ALIGN_MASK
  - MIN
  - MAX
  - min
  - max
  source_file: /src/rtpproxy/external/libre/include/re_types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _Bool
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: signed char
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: _Bool
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __bool_true_false_are_defined
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '1'
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: _inline
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: ((void *)0)
    - item_type: preproc_def
      name: BREAKPOINT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: __asm__("int $0x03")
    - item_type: preproc_def
      name: ENODATA
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '200'
    - item_type: preproc_def
      name: EPROTO
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '201'
    - item_type: preproc_def
      name: EBADMSG
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '202'
    - item_type: preproc_def
      name: EOVERFLOW
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '203'
    - item_type: preproc_def
      name: ELIBBAD
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '204'
    - item_type: preproc_def
      name: EDESTADDRREQ
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '205'
    - item_type: preproc_def
      name: EPROTONOSUPPORT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '206'
    - item_type: preproc_def
      name: ENOTSUP
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '207'
    - item_type: preproc_def
      name: EAFNOSUPPORT
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '208'
    - item_type: preproc_def
      name: EADDRNOTAVAIL
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '209'
    - item_type: preproc_def
      name: ECONNABORTED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '210'
    - item_type: preproc_def
      name: ECONNRESET
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '211'
    - item_type: preproc_def
      name: ENOTCONN
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '212'
    - item_type: preproc_def
      name: ETIMEDOUT
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '213'
    - item_type: preproc_def
      name: ECONNREFUSED
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '214'
    - item_type: preproc_def
      name: EALREADY
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '215'
    - item_type: preproc_def
      name: EINPROGRESS
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '216'
    - item_type: preproc_def
      name: EAUTH
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '217'
    - item_type: preproc_def
      name: ENOSR
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: '218'
    - item_type: preproc_def
      name: __REFUNC__
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: (const char *)__func__
    - item_type: preproc_def
      name: __REFUNC__
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type_or_value: __FUNCTION__
    structs: []
    typedefs:
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: char
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: signed char
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: char
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: signed short int
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: signed int
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: signed long long int
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: unsigned char
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: unsigned short int
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: unsigned int
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: unsigned long long int
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: long
    - item_type: typedef
      name: socklen_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: uint32_t
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: signed long long int
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: unsigned long long int
    - item_type: typedef
      name: _Bool
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/rtpproxy/external/libre/include/re_types.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_telev.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_aes.h
  types:
    enum:
    - enumerators:
      - name: AES_MODE_CTR
      - name: AES_MODE_GCM
      item_type: enum
      name: aes_mode
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/rtpproxy/external/libre/include/re_aes.h
    preproc_defs:
    - item_type: preproc_def
      name: AES_BLOCK_SIZE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_aes.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sdp.h
  types:
    enum:
    - enumerators:
      - name: SDP_INACTIVE
        value: '0'
      - name: SDP_SENDRECV
        value: '3'
      - name: SDP_RECVONLY
        value: '1'
      - name: SDP_SENDONLY
        value: '2'
      item_type: enum
      name: sdp_dir
      pos:
        line_end: 17
        line_start: 12
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
    - enumerators:
      - name: SDP_BANDWIDTH_MIN
        value: '0'
      - name: SDP_BANDWIDTH_AS
      - name: SDP_BANDWIDTH_CT
        value: '0'
      - name: SDP_BANDWIDTH_RS
      - name: SDP_BANDWIDTH_RR
      - name: SDP_BANDWIDTH_TIAS
      - name: SDP_BANDWIDTH_MAX
      item_type: enum
      name: sdp_bandwidth
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: '*id'
        type: char
      - name: '*params'
        type: char
      - name: '*rparams'
        type: char
      - name: '*name'
        type: char
      - name: '*ench'
        type: sdp_fmtp_enc_h
      - name: '*cmph'
        type: sdp_fmtp_cmp_h
      - name: '*data'
        type: void
      - name: ref
        type: bool
      - name: sup
        type: bool
      - name: pt
        type: int
      - name: srate
        type: uint32_t
      - name: ch
        type: uint8_t
      item_type: struct
      name: sdp_format
      pos:
        line_end: 57
        line_start: 43
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
    - fields:
      - name: name
        type: struct pl
      - name: attrs
        type: struct pl
      - name: dir
        type: enum sdp_dir
      - name: dir_set
        type: bool
      - name: id
        type: uint32_t
      item_type: struct
      name: sdp_extmap
      pos:
        line_end: 182
        line_start: 176
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
    typedefs:
    - item_type: typedef
      name: (sdp_media_enc_h)(struct mbuf *mb, bool offer, void *arg)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
      type: int
    - item_type: typedef
      name: "(sdp_fmtp_enc_h)(struct mbuf *mb, const struct sdp_format *fmt,\n\t\t\t
        \   bool offer, void *data)"
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
      type: int
    - item_type: typedef
      name: "(sdp_fmtp_cmp_h)(const char *params1, const char *params2,\n\t\t\t     void
        *data)"
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
      type: bool
    - item_type: typedef
      name: (sdp_format_h)(struct sdp_format *fmt, void *arg)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
      type: bool
    - item_type: typedef
      name: (sdp_attr_h)(const char *name, const char *value, void *arg)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/rtpproxy/external/libre/include/re_sdp.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_net.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BSD_SOCKLEN_T_
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type_or_value: 'int  '
    - item_type: preproc_def
      name: INET_ADDRSTRLEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type_or_value: '16'
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type_or_value: '46'
    - item_type: preproc_def
      name: NET_ADDRSTRLEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type_or_value: INET6_ADDRSTRLEN
    - item_type: preproc_def
      name: NET_ADDRSTRLEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type_or_value: INET_ADDRSTRLEN
    structs: []
    typedefs:
    - item_type: typedef
      name: "(net_ifaddr_h)(const char *ifname, const struct sa *sa,\n\t\t\t    void
        *arg)"
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type: bool
    - item_type: typedef
      name: "(net_rt_h)(const char *ifname, const struct sa *dst,\n\t\t\tint dstlen,
        const struct sa *gw, void *arg)"
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/rtpproxy/external/libre/include/re_net.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_udp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (udp_recv_h)(const struct sa *src, struct mbuf *mb, void *arg)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/rtpproxy/external/libre/include/re_udp.h
      type: void
    - item_type: typedef
      name: (udp_error_h)(int err, void *arg)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/rtpproxy/external/libre/include/re_udp.h
      type: void
    - item_type: typedef
      name: "(udp_helper_send_h)(int *err, struct sa *dst,\n\t\t\t\t struct mbuf *mb,
        void *arg)"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/external/libre/include/re_udp.h
      type: bool
    - item_type: typedef
      name: "(udp_helper_recv_h)(struct sa *src,\n\t\t\t\t struct mbuf *mb, void *arg)"
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/rtpproxy/external/libre/include/re_udp.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_srtp.h
  types:
    enum:
    - enumerators:
      - name: SRTP_AES_CM_128_HMAC_SHA1_32
      - name: SRTP_AES_CM_128_HMAC_SHA1_80
      - name: SRTP_AES_256_CM_HMAC_SHA1_32
      - name: SRTP_AES_128_GCM
      - name: SRTP_AES_256_CM_HMAC_SHA1_80
      - name: SRTP_AES_256_GCM
      item_type: enum
      name: srtp_suite
      pos:
        line_end: 14
        line_start: 7
        source_file: /src/rtpproxy/external/libre/include/re_srtp.h
    - enumerators:
      - name: SRTP_UNENCRYPTED_SRTCP
        value: 1<<1
      item_type: enum
      name: srtp_flags
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_srtp.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_jbuf.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: n_put
        type: uint32_t
      - name: n_get
        type: uint32_t
      - name: n_oos
        type: uint32_t
      - name: n_dups
        type: uint32_t
      - name: n_late
        type: uint32_t
      - name: n_lost
        type: uint32_t
      - name: n_overflow
        type: uint32_t
      - name: n_underflow
        type: uint32_t
      - name: n_flush
        type: uint32_t
      item_type: struct
      name: jbuf_stat
      pos:
        line_end: 19
        line_start: 9
        source_file: /src/rtpproxy/external/libre/include/re_jbuf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
  types:
    enum:
    - enumerators:
      - name: RTMP_TYPE_SET_CHUNK_SIZE
        value: '1'
      - name: RTMP_TYPE_WINDOW_ACK_SIZE
        value: '5'
      - name: RTMP_TYPE_USER_CONTROL_MSG
        value: '4'
      - name: RTMP_TYPE_SET_PEER_BANDWIDTH
        value: '6'
      - name: RTMP_TYPE_ACKNOWLEDGEMENT
        value: '3'
      - name: RTMP_TYPE_AUDIO
        value: '8'
      - name: RTMP_TYPE_VIDEO
        value: '9'
      - name: RTMP_TYPE_DATA
        value: '18'
      - name: RTMP_TYPE_AMF0
        value: '20'
      item_type: enum
      name: rtmp_packet_type
      pos:
        line_end: 31
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
    - enumerators:
      - name: RTMP_AMF_TYPE_ROOT
        value: '-1'
      - name: RTMP_AMF_TYPE_STRING
        value: '0x02'
      - name: RTMP_AMF_TYPE_OBJECT
        value: '0x03'
      - name: RTMP_AMF_TYPE_NUMBER
        value: '0x00'
      - name: RTMP_AMF_TYPE_BOOLEAN
        value: '0x01'
      - name: RTMP_AMF_TYPE_NULL
        value: '0x05'
      - name: RTMP_AMF_TYPE_ECMA_ARRAY
        value: '0x08'
      - name: RTMP_AMF_TYPE_OBJECT_END
        value: '0x09'
      - name: RTMP_AMF_TYPE_STRICT_ARRAY
        value: '0x0a'
      item_type: enum
      name: rtmp_amf_type
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
    - enumerators:
      - name: RTMP_EVENT_STREAM_BEGIN
        value: '0'
      - name: RTMP_EVENT_STREAM_EOF
        value: '1'
      - name: RTMP_EVENT_SET_BUFFER_LENGTH
        value: '3'
      - name: RTMP_EVENT_STREAM_DRY
        value: '2'
      - name: RTMP_EVENT_STREAM_IS_RECORDED
        value: '4'
      - name: RTMP_EVENT_PING_REQUEST
        value: '6'
      - name: RTMP_EVENT_PING_RESPONSE
        value: '7'
      item_type: enum
      name: rtmp_event_type
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (rtmp_estab_h)(void *arg)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    - item_type: typedef
      name: (rtmp_command_h)(const struct odict *msg, void *arg)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    - item_type: typedef
      name: (rtmp_close_h)(int err, void *arg)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    - item_type: typedef
      name: "(rtmp_resp_h)(bool success, const struct odict *msg,\n\t\t\t   void *arg)"
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    - item_type: typedef
      name: "(rtmp_control_h)(enum rtmp_event_type event, struct mbuf *mb,\n\t\t\t
        \     void *arg)"
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    - item_type: typedef
      name: "(rtmp_audio_h)(uint32_t timestamp,\n\t\t\t    const uint8_t *pld, size_t
        len, void *arg)"
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    - item_type: typedef
      name: "(rtmp_video_h)(uint32_t timestamp,\n\t\t\t    const uint8_t *pld, size_t
        len, void *arg)"
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/rtpproxy/external/libre/include/re_rtmp.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_http.h
  types:
    enum:
    - enumerators:
      - name: HTTP_HDR_AGE
        value: '742'
      - name: HTTP_HDR_CONNECTION
        value: '865'
      - name: HTTP_HDR_CONTENT_LOCATION
        value: '3927'
      - name: HTTP_HDR_DATE
        value: '1027'
      - name: HTTP_HDR_FROM
        value: '1963'
      - name: HTTP_HDR_IF_MATCH
        value: '2684'
      - name: HTTP_HDR_IF_UNMODIFIED_SINCE
        value: '962'
      - name: HTTP_HDR_PRAGMA
        value: '1673'
      - name: HTTP_HDR_REFERER
        value: '2991'
      - name: HTTP_HDR_SEC_WEBSOCKET_KEY
        value: '746'
      - name: HTTP_HDR_TRAILER
        value: '2577'
      - name: HTTP_HDR_NONE
        value: '-1'
      - name: HTTP_HDR_TE
        value: '2035'
      - name: HTTP_HDR_VIA
        value: '3961'
      - name: HTTP_HDR_ACCEPT_CHARSET
        value: '24'
      - name: HTTP_HDR_ALLOW
        value: '2429'
      - name: HTTP_HDR_ETAG
        value: '2392'
      - name: HTTP_HDR_CONTENT_MD5
        value: '406'
      - name: HTTP_HDR_CONTENT_ENCODING
        value: '580'
      - name: HTTP_HDR_IF_MODIFIED_SINCE
        value: '2187'
      - name: HTTP_HDR_LAST_MODIFIED
        value: '2946'
      - name: HTTP_HDR_PROXY_AUTHENTICATE
        value: '116'
      - name: HTTP_HDR_RANGE
        value: '4004'
      - name: HTTP_HDR_RETRY_AFTER
        value: '409'
      - name: HTTP_HDR_WWW_AUTHENTICATE
        value: '2763'
      - name: HTTP_HDR_SEC_WEBSOCKET_PROTOCOL
        value: '2076'
      - name: HTTP_HDR_SEC_WEBSOCKET_EXTENSIONS
        value: '2937'
      - name: HTTP_HDR_WARNING
        value: '2108'
      - name: HTTP_HDR_TRANSFER_ENCODING
        value: '2115'
      - name: HTTP_HDR_ACCEPT_LANGUAGE
        value: '2867'
      - name: HTTP_HDR_AUTHORIZATION
        value: '2503'
      - name: HTTP_HDR_CONTENT_RANGE
        value: '2846'
      - name: HTTP_HDR_CONTENT_LANGUAGE
        value: '3371'
      - name: HTTP_HDR_EXPECT
        value: '1550'
      - name: HTTP_HDR_IF_NONE_MATCH
        value: '4030'
      - name: HTTP_HDR_LOCATION
        value: '2514'
      - name: HTTP_HDR_PROXY_AUTHORIZATION
        value: '2363'
      - name: HTTP_HDR_SEC_WEBSOCKET_ACCEPT
        value: '2959'
      - name: HTTP_HDR_SEC_WEBSOCKET_VERSION
        value: '3158'
      - name: HTTP_HDR_USER_AGENT
        value: '4064'
      - name: HTTP_HDR_UPGRADE
        value: '717'
      - name: HTTP_HDR_ACCEPT
        value: '3186'
      - name: HTTP_HDR_ACCEPT_ENCODING
        value: '708'
      - name: HTTP_HDR_ACCEPT_RANGES
        value: '3027'
      - name: HTTP_HDR_CACHE_CONTROL
        value: '2530'
      - name: HTTP_HDR_CONTENT_TYPE
        value: '809'
      - name: HTTP_HDR_CONTENT_LENGTH
        value: '3861'
      - name: HTTP_HDR_EXPIRES
        value: '1983'
      - name: HTTP_HDR_HOST
        value: '3191'
      - name: HTTP_HDR_IF_RANGE
        value: '2220'
      - name: HTTP_HDR_MAX_FORWARDS
        value: '3549'
      - name: HTTP_HDR_VARY
        value: '3076'
      - name: HTTP_HDR_SERVER
        value: '973'
      item_type: enum
      name: http_hdrid
      pos:
        line_end: 63
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_http.h
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: name
        type: struct pl
      - name: val
        type: struct pl
      - name: id
        type: enum http_hdrid
      item_type: struct
      name: http_hdr
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/rtpproxy/external/libre/include/re_http.h
    - fields:
      - name: ver
        type: struct pl
      - name: met
        type: struct pl
      - name: path
        type: struct pl
      - name: prm
        type: struct pl
      - name: scode
        type: uint16_t
      - name: reason
        type: struct pl
      - name: hdrl
        type: struct list
      - name: ctyp
        type: struct msg_ctype
      - name: '*_mb'
        type: struct mbuf
      - name: '*mb'
        type: struct mbuf
      - name: clen
        type: uint32_t
      item_type: struct
      name: http_msg
      pos:
        line_end: 87
        line_start: 75
        source_file: /src/rtpproxy/external/libre/include/re_http.h
    - fields:
      - name: '*realm'
        type: char
      - name: stale
        type: bool
      item_type: struct
      name: http_auth
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/rtpproxy/external/libre/include/re_http.h
    typedefs:
    - item_type: typedef
      name: (http_hdr_h)(const struct http_hdr *hdr, void *arg)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/rtpproxy/external/libre/include/re_http.h
      type: bool
    - item_type: typedef
      name: (http_resp_h)(int err, const struct http_msg *msg, void *arg)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/rtpproxy/external/libre/include/re_http.h
      type: void
    - item_type: typedef
      name: "(http_data_h)(const uint8_t *buf, size_t size,\n\t\t\t   const struct
        http_msg *msg, void *arg)"
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/rtpproxy/external/libre/include/re_http.h
      type: int
    - item_type: typedef
      name: "(http_conn_h)(struct tcp_conn *tc, struct tls_conn *sc,\n\t\t\t   void
        *arg)"
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/rtpproxy/external/libre/include/re_http.h
      type: void
    - item_type: typedef
      name: "(http_req_h)(struct http_conn *conn, const struct http_msg *msg,\n\t\t\t
        \ void *arg)"
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/rtpproxy/external/libre/include/re_http.h
      type: void
    - item_type: typedef
      name: (http_auth_h)(const struct pl *username, uint8_t *ha1, void *arg)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/rtpproxy/external/libre/include/re_http.h
      type: int
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_hmac.h
  types:
    enum:
    - enumerators:
      - name: HMAC_HASH_SHA1
      - name: HMAC_HASH_SHA256
      item_type: enum
      name: hmac_hash
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/rtpproxy/external/libre/include/re_hmac.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_uri.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: scheme
        type: struct pl
      - name: user
        type: struct pl
      - name: password
        type: struct pl
      - name: host
        type: struct pl
      - name: af
        type: int
      - name: port
        type: uint16_t
      - name: params
        type: struct pl
      - name: headers
        type: struct pl
      item_type: struct
      name: uri
      pos:
        line_end: 17
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_uri.h
    typedefs:
    - item_type: typedef
      name: "(uri_apply_h)(const struct pl *name, const struct pl *val,\n\t\t\t  void
        *arg)"
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/libre/include/re_uri.h
      type: int
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_stun.h
  types:
    enum:
    - enumerators:
      - name: STUN_AF_IPv4
        value: '0x01'
      - name: STUN_AF_IPv6
        value: '0x02'
      item_type: enum
      name: stun_af
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - enumerators:
      - name: STUN_TRANSP_UDP
        value: IPPROTO_UDP
      - name: STUN_TRANSP_TCP
        value: IPPROTO_TCP
      - name: STUN_TRANSP_DTLS
      item_type: enum
      name: stun_transp
      pos:
        line_end: 31
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - enumerators:
      - name: STUN_METHOD_BINDING
        value: '0x001'
      - name: STUN_METHOD_DATA
        value: '0x007'
      - name: STUN_METHOD_SEND
        value: '0x006'
      - name: STUN_METHOD_REFRESH
        value: '0x004'
      - name: STUN_METHOD_ALLOCATE
        value: '0x003'
      - name: STUN_METHOD_CREATEPERM
        value: '0x008'
      - name: STUN_METHOD_CHANBIND
        value: '0x009'
      item_type: enum
      name: stun_method
      pos:
        line_end: 42
        line_start: 34
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - enumerators:
      - name: STUN_CLASS_REQUEST
        value: '0x0'
      - name: STUN_CLASS_INDICATION
        value: '0x1'
      - name: STUN_CLASS_ERROR_RESP
        value: '0x3'
      - name: STUN_CLASS_SUCCESS_RESP
        value: '0x2'
      item_type: enum
      name: stun_msg_class
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - enumerators:
      - name: STUN_ATTR_MAPPED_ADDR
        value: '0x0001'
      - name: STUN_ATTR_MSG_INTEGRITY
        value: '0x0008'
      - name: STUN_ATTR_LIFETIME
        value: '0x000d'
      - name: STUN_ATTR_NONCE
        value: '0x0015'
      - name: STUN_ATTR_REQ_TRANSPORT
        value: '0x0019'
      - name: STUN_ATTR_PRIORITY
        value: '0x0024'
      - name: STUN_ATTR_SOFTWARE
        value: '0x8022'
      - name: STUN_ATTR_CONTROLLED
        value: '0x8029'
      - name: STUN_ATTR_USERNAME
        value: '0x0006'
      - name: STUN_ATTR_CHANNEL_NUMBER
        value: '0x000c'
      - name: STUN_ATTR_REALM
        value: '0x0014'
      - name: STUN_ATTR_EVEN_PORT
        value: '0x0018'
      - name: STUN_ATTR_RSV_TOKEN
        value: '0x0022'
      - name: STUN_ATTR_RESP_PORT
        value: '0x0027'
      - name: STUN_ATTR_FINGERPRINT
        value: '0x8028'
      - name: STUN_ATTR_OTHER_ADDR
        value: '0x802c'
      - name: STUN_ATTR_CHANGE_REQ
        value: '0x0003'
      - name: STUN_ATTR_UNKNOWN_ATTR
        value: '0x000a'
      - name: STUN_ATTR_DATA
        value: '0x0013'
      - name: STUN_ATTR_REQ_ADDR_FAMILY
        value: '0x0017'
      - name: STUN_ATTR_XOR_MAPPED_ADDR
        value: '0x0020'
      - name: STUN_ATTR_PADDING
        value: '0x0026'
      - name: STUN_ATTR_ALT_SERVER
        value: '0x8023'
      - name: STUN_ATTR_RESP_ORIGIN
        value: '0x802b'
      - name: STUN_ATTR_ERR_CODE
        value: '0x0009'
      - name: STUN_ATTR_XOR_PEER_ADDR
        value: '0x0012'
      - name: STUN_ATTR_XOR_RELAY_ADDR
        value: '0x0016'
      - name: STUN_ATTR_DONT_FRAGMENT
        value: '0x001a'
      - name: STUN_ATTR_USE_CAND
        value: '0x0025'
      - name: STUN_ATTR_CONTROLLING
        value: '0x802a'
      item_type: enum
      name: stun_attrib
      pos:
        line_end: 87
        line_start: 53
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    preproc_defs: []
    structs:
    - fields:
      - name: ip
        type: bool
      - name: port
        type: bool
      item_type: struct
      name: stun_change_req
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - fields:
      - name: code
        type: uint16_t
      - name: '*reason'
        type: char
      item_type: struct
      name: stun_errcode
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - fields:
      - name: typev[8]
        type: uint16_t
      - name: typec
        type: uint32_t
      item_type: struct
      name: stun_unknown_attr
      pos:
        line_end: 103
        line_start: 100
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - fields:
      - name: r
        type: bool
      item_type: struct
      name: stun_even_port
      pos:
        line_end: 107
        line_start: 105
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - fields:
      - name: le
        type: struct le
      - name: type
        type: uint16_t
      - name: v
        type: "union {\n\t\t/* generic types */\n\t\tstruct sa sa;\n\t\tchar *str;\n\t\tuint64_t
          uint64;\n\t\tuint32_t uint32;\n\t\tuint16_t uint16;\n\t\tuint8_t uint8;\n\t\tstruct
          mbuf mb;\n\n\t\t/* actual attributes */\n\t\tstruct sa mapped_addr;\n\t\tstruct
          stun_change_req change_req;\n\t\tchar *username;\n\t\tuint8_t msg_integrity[20];\n\t\tstruct
          stun_errcode err_code;\n\t\tstruct stun_unknown_attr unknown_attr;\n\t\tuint16_t
          channel_number;\n\t\tuint32_t lifetime;\n\t\tstruct sa xor_peer_addr;\n\t\tstruct
          mbuf data;\n\t\tchar *realm;\n\t\tchar *nonce;\n\t\tstruct sa xor_relay_addr;\n\t\tuint8_t
          req_addr_family;\n\t\tstruct stun_even_port even_port;\n\t\tuint8_t req_transport;\n\t\tstruct
          sa xor_mapped_addr;\n\t\tuint64_t rsv_token;\n\t\tuint32_t priority;\n\t\tstruct
          mbuf padding;\n\t\tuint16_t resp_port;\n\t\tchar *software;\n\t\tstruct
          sa alt_server;\n\t\tuint32_t fingerprint;\n\t\tuint64_t controlled;\n\t\tuint64_t
          controlling;\n\t\tstruct sa resp_origin;\n\t\tstruct sa other_addr;\n\t}"
      item_type: struct
      name: stun_attr
      pos:
        line_end: 153
        line_start: 110
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    - fields:
      - name: rto
        type: uint32_t
      - name: rc
        type: uint32_t
      - name: rm
        type: uint32_t
      - name: ti
        type: uint32_t
      - name: tos
        type: uint8_t
      item_type: struct
      name: stun_conf
      pos:
        line_end: 163
        line_start: 157
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
    typedefs:
    - item_type: typedef
      name: "(stun_resp_h)(int err, uint16_t scode, const char *reason,\n\t\t\t  const
        struct stun_msg *msg, void *arg)"
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
      type: void
    - item_type: typedef
      name: (stun_ind_h)(struct stun_msg *msg, void *arg)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
      type: void
    - item_type: typedef
      name: (stun_attr_h)(const struct stun_attr *attr, void *arg)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
      type: bool
    - item_type: typedef
      name: (stun_dns_h)(int err, const struct sa *srv, void *arg)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
      type: void
    - item_type: typedef
      name: (stun_mapped_addr_h)(int err, const struct sa *map, void *arg)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/rtpproxy/external/libre/include/re_stun.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_json.h
  types:
    enum:
    - enumerators:
      - name: JSON_STRING
      - name: JSON_NULL
      - name: JSON_BOOL
      - name: JSON_DOUBLE
      - name: JSON_INT
      item_type: enum
      name: json_typ
      pos:
        line_end: 12
        line_start: 6
        source_file: /src/rtpproxy/external/libre/include/re_json.h
    preproc_defs: []
    structs:
    - fields:
      - name: v
        type: "union {\n\t\tchar *str;\n\t\tint64_t integer;\n\t\tdouble dbl;\n\t\tbool
          boolean;\n\t}"
      - name: type
        type: enum json_typ
      item_type: struct
      name: json_value
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/rtpproxy/external/libre/include/re_json.h
    - fields:
      - name: '*oh'
        type: json_object_h
      - name: '*ah'
        type: json_array_h
      - name: '*oeh'
        type: json_object_entry_h
      - name: '*aeh'
        type: json_array_entry_h
      - name: '*arg'
        type: void
      item_type: struct
      name: json_handlers
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/rtpproxy/external/libre/include/re_json.h
    typedefs:
    - item_type: typedef
      name: "(json_object_entry_h)(const char *name,\n\t\t\t\t  const struct json_value
        *value, void *arg)"
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/include/re_json.h
      type: int
    - item_type: typedef
      name: "(json_array_entry_h)(unsigned idx,\n\t\t\t\t const struct json_value
        *value, void *arg)"
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/external/libre/include/re_json.h
      type: int
    - item_type: typedef
      name: "(json_object_h)(const char *name, unsigned idx,\n\t\t\t    struct json_handlers
        *h)"
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/external/libre/include/re_json.h
      type: int
    - item_type: typedef
      name: "(json_array_h)(const char *name, unsigned idx,\n\t\t\t   struct json_handlers
        *h)"
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/external/libre/include/re_json.h
      type: int
    union: []
- function_names:
  - DEBUG_WARNING
  - DEBUG_NOTICE
  - DEBUG_INFO
  - DEBUG_PRINTF
  - DEBUG_WARNING
  - DEBUG_NOTICE
  - DEBUG_INFO
  - DEBUG_PRINTF
  source_file: /src/rtpproxy/external/libre/include/re_dbg.h
  types:
    enum:
    - enumerators:
      - name: DBG_NONE
        value: '0'
      - name: DBG_ANSI
        value: 1<<1
      - name: DBG_ALL
        value: DBG_TIME|DBG_ANSI
      - name: DBG_TIME
        value: 1<<0
      item_type: enum
      name: dbg_flags
      pos:
        line_end: 166
        line_start: 161
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
    preproc_defs:
    - item_type: preproc_def
      name: DEBUG_MODULE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: '"?"'
    - item_type: preproc_def
      name: DEBUG_LEVEL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DEBUG_WARNING
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_warning
    - item_type: preproc_def
      name: DEBUG_WARNING
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_noprintf
    - item_type: preproc_def
      name: DEBUG_NOTICE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_notice
    - item_type: preproc_def
      name: DEBUG_NOTICE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_noprintf
    - item_type: preproc_def
      name: DEBUG_INFO
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_info
    - item_type: preproc_def
      name: DEBUG_INFO
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_noprintf
    - item_type: preproc_def
      name: DEBUG_PRINTF
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_noprintf
    - item_type: preproc_def
      name: DEBUG_PRINTF
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type_or_value: dbg_noprintf
    structs: []
    typedefs:
    - item_type: typedef
      name: (dbg_print_h)(int level, const char *p, size_t len, void *arg)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/rtpproxy/external/libre/include/re_dbg.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_httpauth.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: realm
        type: struct pl
      - name: nonce
        type: struct pl
      - name: opaque
        type: struct pl
      - name: stale
        type: struct pl
      - name: algorithm
        type: struct pl
      - name: qop
        type: struct pl
      item_type: struct
      name: httpauth_digest_chall
      pos:
        line_end: 17
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_httpauth.h
    - fields:
      - name: realm
        type: struct pl
      - name: nonce
        type: struct pl
      - name: response
        type: struct pl
      - name: username
        type: struct pl
      - name: uri
        type: struct pl
      - name: nc
        type: struct pl
      - name: cnonce
        type: struct pl
      - name: qop
        type: struct pl
      item_type: struct
      name: httpauth_digest_resp
      pos:
        line_end: 31
        line_start: 20
        source_file: /src/rtpproxy/external/libre/include/re_httpauth.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_turn.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(turnc_h)(int err, uint16_t scode, const char *reason,\n\t\t      const
        struct sa *relay_addr,\n\t\t      const struct sa *mapped_addr,\n\t\t      const
        struct stun_msg *msg,\n\t\t      void *arg)"
      pos:
        line_end: 17
        line_start: 13
        source_file: /src/rtpproxy/external/libre/include/re_turn.h
      type: void
    - item_type: typedef
      name: (turnc_perm_h)(void *arg)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/rtpproxy/external/libre/include/re_turn.h
      type: void
    - item_type: typedef
      name: (turnc_chan_h)(void *arg)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/rtpproxy/external/libre/include/re_turn.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_websock.h
  types:
    enum:
    - enumerators:
      - name: WEBSOCK_CONT
        value: '0x0'
      - name: WEBSOCK_BIN
        value: '0x2'
      - name: WEBSOCK_CLOSE
        value: '0x8'
      - name: WEBSOCK_TEXT
        value: '0x1'
      - name: WEBSOCK_PING
        value: '0x9'
      - name: WEBSOCK_PONG
        value: '0xa'
      item_type: enum
      name: websock_opcode
      pos:
        line_end: 20
        line_start: 11
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
    - enumerators:
      - name: WEBSOCK_NORMAL_CLOSURE
        value: '1000'
      - name: WEBSOCK_GOING_AWAY
        value: '1001'
      - name: WEBSOCK_PROTOCOL_ERROR
        value: '1002'
      - name: WEBSOCK_UNSUPPORTED_DATA
        value: '1003'
      - name: WEBSOCK_INVALID_PAYLOAD
        value: '1007'
      - name: WEBSOCK_POLICY_VIOLATION
        value: '1008'
      - name: WEBSOCK_MESSAGE_TOO_BIG
        value: '1009'
      - name: WEBSOCK_EXTENSION_ERROR
        value: '1010'
      - name: WEBSOCK_INTERNAL_ERROR
        value: '1011'
      item_type: enum
      name: websock_scode
      pos:
        line_end: 32
        line_start: 22
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
    preproc_defs: []
    structs:
    - fields:
      - name: fin
        type: unsigned
      - name: rsv1
        type: unsigned
      - name: rsv2
        type: unsigned
      - name: rsv3
        type: unsigned
      - name: opcode
        type: unsigned
      - name: mask
        type: unsigned
      - name: len
        type: uint64_t
      - name: mkey[4]
        type: uint8_t
      item_type: struct
      name: websock_hdr
      pos:
        line_end: 43
        line_start: 34
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
    typedefs:
    - item_type: typedef
      name: (websock_estab_h)(void *arg)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
      type: void
    - item_type: typedef
      name: "(websock_recv_h)(const struct websock_hdr *hdr, struct mbuf *mb,\n\t\t\t
        \     void *arg)"
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
      type: void
    - item_type: typedef
      name: (websock_close_h)(int err, void *arg)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
      type: void
    - item_type: typedef
      name: (websock_shutdown_h)(void *arg)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/rtpproxy/external/libre/include/re_websock.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_ice.h
  types:
    enum:
    - enumerators:
      - name: ICE_MODE_FULL
      - name: ICE_MODE_LITE
      item_type: enum
      name: ice_mode
      pos:
        line_end: 11
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - enumerators:
      - name: ICE_ROLE_UNKNOWN
        value: '0'
      - name: ICE_ROLE_CONTROLLED
      - name: ICE_ROLE_CONTROLLING
      item_type: enum
      name: ice_role
      pos:
        line_end: 18
        line_start: 14
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - enumerators:
      - name: ICE_COMPID_RTP
        value: '1'
      - name: ICE_COMPID_RTCP
        value: '2'
      item_type: enum
      name: ice_compid
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - enumerators:
      - name: ICE_NOMINATION_REGULAR
        value: '0'
      - name: ICE_NOMINATION_AGGRESSIVE
      item_type: enum
      name: ice_nomination
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - enumerators:
      - name: ICE_CAND_TYPE_HOST
      - name: ICE_CAND_TYPE_PRFLX
      - name: ICE_CAND_TYPE_RELAY
      - name: ICE_CAND_TYPE_SRFLX
      item_type: enum
      name: ice_cand_type
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - enumerators:
      - name: ICE_TCP_ACTIVE
      - name: ICE_TCP_SO
      - name: ICE_TCP_PASSIVE
      item_type: enum
      name: ice_tcptype
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - enumerators:
      - name: ICE_CANDPAIR_FROZEN
        value: '0'
      - name: ICE_CANDPAIR_INPROGRESS
      - name: ICE_CANDPAIR_SUCCEEDED
      - name: ICE_CANDPAIR_WAITING
      - name: ICE_CANDPAIR_FAILED
      item_type: enum
      name: ice_candpair_state
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    preproc_defs: []
    structs:
    - fields:
      - name: nom
        type: enum ice_nomination
      - name: rto
        type: uint32_t
      - name: rc
        type: uint32_t
      - name: debug
        type: bool
      item_type: struct
      name: ice_conf
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    - fields:
      - name: foundation[32]
        type: char
      - name: compid
        type: unsigned
      - name: proto
        type: int
      - name: prio
        type: uint32_t
      - name: addr
        type: struct sa
      - name: type
        type: enum ice_cand_type
      - name: rel_addr
        type: struct sa
      - name: tcptype
        type: enum ice_tcptype
      item_type: struct
      name: ice_cand_attr
      pos:
        line_end: 156
        line_start: 147
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
    typedefs:
    - item_type: typedef
      name: (ice_connchk_h)(int err, bool update, void *arg)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/rtpproxy/external/libre/include/re_ice.h
      type: void
    union: []
- function_names:
  - sys_msleep
  source_file: /src/rtpproxy/external/libre/include/re_sys.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERSION
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_sys.h
      type_or_value: '"?"'
    - item_type: preproc_def
      name: ARCH
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/include/re_sys.h
      type_or_value: '"?"'
    - item_type: preproc_def
      name: OS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_sys.h
      type_or_value: '"win32"'
    - item_type: preproc_def
      name: OS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/external/libre/include/re_sys.h
      type_or_value: '"?"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_mod.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOD_PRE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MOD_EXT
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type_or_value: '".dll"'
    - item_type: preproc_def
      name: MOD_PRE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type_or_value: '""'
    - item_type: preproc_def
      name: MOD_EXT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type_or_value: '".so"'
    - item_type: preproc_def
      name: EXPORT_SYM
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type_or_value: __declspec(dllexport)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*type'
        type: char
      - name: '*init'
        type: mod_init_h
      - name: '*close'
        type: mod_close_h
      item_type: struct
      name: mod_export
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
    typedefs:
    - item_type: typedef
      name: (mod_init_h)(void)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type: int
    - item_type: typedef
      name: (mod_close_h)(void)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/external/libre/include/re_mod.h
      type: int
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_hash.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_dns.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: uint16_t
      - name: qr
        type: bool
      - name: opcode
        type: uint8_t
      - name: aa
        type: bool
      - name: tc
        type: bool
      - name: rd
        type: bool
      - name: ra
        type: bool
      - name: z
        type: uint8_t
      - name: rcode
        type: uint8_t
      - name: nq
        type: uint16_t
      - name: nans
        type: uint16_t
      - name: nauth
        type: uint16_t
      - name: nadd
        type: uint16_t
      item_type: struct
      name: dnshdr
      pos:
        line_end: 74
        line_start: 60
        source_file: /src/rtpproxy/external/libre/include/re_dns.h
    - fields:
      - name: le
        type: struct le
      - name: le_priv
        type: struct le
      - name: '*name'
        type: char
      - name: type
        type: uint16_t
      - name: dnsclass
        type: uint16_t
      - name: ttl
        type: int64_t
      - name: rdlen
        type: uint16_t
      - name: rdata
        type: "union {\n\t\tstruct {\n\t\t\tuint32_t addr;\n\t\t} a;\n\t\tstruct {\n\t\t\tchar
          *nsdname;\n\t\t} ns;\n\t\tstruct {\n\t\t\tchar *cname;\n\t\t} cname;\n\t\tstruct
          {\n\t\t\tchar *mname;\n\t\t\tchar *rname;\n\t\t\tuint32_t serial;\n\t\t\tuint32_t
          refresh;\n\t\t\tuint32_t retry;\n\t\t\tuint32_t expire;\n\t\t\tuint32_t
          ttlmin;\n\t\t} soa;\n\t\tstruct {\n\t\t\tchar *ptrdname;\n\t\t} ptr;\n\t\tstruct
          {\n\t\t\tuint16_t pref;\n\t\t\tchar *exchange;\n\t\t} mx;\n\t\tstruct {\n\t\t\tchar
          *data;\n\t\t} txt;\n\t\tstruct {\n\t\t\tuint8_t addr[16];\n\t\t} aaaa;\n\t\tstruct
          {\n\t\t\tuint16_t pri;\n\t\t\tuint16_t weight;\n\t\t\tuint16_t port;\n\t\t\tchar
          *target;\n\t\t} srv;\n\t\tstruct {\n\t\t\tuint16_t order;\n\t\t\tuint16_t
          pref;\n\t\t\tchar *flags;\n\t\t\tchar *services;\n\t\t\tchar *regexp;\n\t\t\tchar
          *replace;\n\t\t} naptr;\n\t}"
      item_type: struct
      name: dnsrr
      pos:
        line_end: 133
        line_start: 78
        source_file: /src/rtpproxy/external/libre/include/re_dns.h
    - fields:
      - name: query_hash_size
        type: uint32_t
      - name: tcp_hash_size
        type: uint32_t
      - name: conn_timeout
        type: uint32_t
      - name: idle_timeout
        type: uint32_t
      item_type: struct
      name: dnsc_conf
      pos:
        line_end: 202
        line_start: 197
        source_file: /src/rtpproxy/external/libre/include/re_dns.h
    typedefs:
    - item_type: typedef
      name: "(dns_query_h)(int err, const struct dnshdr *hdr,\n\t\t\t  struct list
        *ansl, struct list *authl,\n\t\t\t  struct list *addl, void *arg)"
      pos:
        line_end: 149
        line_start: 147
        source_file: /src/rtpproxy/external/libre/include/re_dns.h
      type: void
    - item_type: typedef
      name: (dns_rrlist_h)(struct dnsrr *rr, void *arg)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/rtpproxy/external/libre/include/re_dns.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_msg.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: struct pl
      - name: subtype
        type: struct pl
      - name: params
        type: struct pl
      item_type: struct
      name: msg_ctype
      pos:
        line_end: 12
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_msg.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_odict.h
  types:
    enum:
    - enumerators:
      - name: ODICT_OBJECT
      - name: ODICT_STRING
      - name: ODICT_INT
      - name: ODICT_DOUBLE
      - name: ODICT_ARRAY
      - name: ODICT_BOOL
      - name: ODICT_NULL
      item_type: enum
      name: odict_type
      pos:
        line_end: 14
        line_start: 6
        source_file: /src/rtpproxy/external/libre/include/re_odict.h
    preproc_defs: []
    structs:
    - fields:
      - name: lst
        type: struct list
      - name: '*ht'
        type: struct hash
      item_type: struct
      name: odict
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_odict.h
    - fields:
      - name: le
        type: struct le
      - name: '*key'
        type: char
      - name: u
        type: "union {\n\t\tstruct odict *odict;   /* ODICT_OBJECT / ODICT_ARRAY */\n\t\tchar
          *str;             /* ODICT_STRING */\n\t\tint64_t integer;       /* ODICT_INT
          \   */\n\t\tdouble dbl;            /* ODICT_DOUBLE */\n\t\tbool boolean;
          \         /* ODICT_BOOL   */\n\t}"
      - name: type
        type: enum odict_type
      item_type: struct
      name: odict_entry
      pos:
        line_end: 32
        line_start: 21
        source_file: /src/rtpproxy/external/libre/include/re_odict.h
    typedefs: []
    union: []
- function_names:
  - list_ledata
  - list_contains
  - list_isempty
  - LIST_FOREACH
  source_file: /src/rtpproxy/external/libre/include/re_list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LE_INIT
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_list.h
      type_or_value: '{NULL, NULL, NULL, NULL}'
    - item_type: preproc_def
      name: LIST_INIT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/rtpproxy/external/libre/include/re_list.h
      type_or_value: '{NULL, NULL}'
    structs:
    - fields:
      - name: '*prev'
        type: struct le
      - name: '*next'
        type: struct le
      - name: '*list'
        type: struct list
      - name: '*data'
        type: void
      item_type: struct
      name: le
      pos:
        line_end: 13
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_list.h
    - fields:
      - name: '*head'
        type: struct le
      - name: '*tail'
        type: struct le
      item_type: struct
      name: list
      pos:
        line_end: 23
        line_start: 20
        source_file: /src/rtpproxy/external/libre/include/re_list.h
    typedefs:
    - item_type: typedef
      name: (list_apply_h)(struct le *le, void *arg)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/rtpproxy/external/libre/include/re_list.h
      type: bool
    - item_type: typedef
      name: (list_sort_h)(struct le *le1, struct le *le2, void *arg)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/rtpproxy/external/libre/include/re_list.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_mqueue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (mqueue_h)(int id, void *data, void *arg)
      pos:
        line_end: 8
        line_start: 8
        source_file: /src/rtpproxy/external/libre/include/re_mqueue.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_crc32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (sipsess_conn_h)(const struct sip_msg *msg, void *arg)
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: void
    - item_type: typedef
      name: "(sipsess_offer_h)(struct mbuf **descp, const struct sip_msg *msg,\n\t\t\t
        \      void *arg)"
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: int
    - item_type: typedef
      name: (sipsess_answer_h)(const struct sip_msg *msg, void *arg)
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: int
    - item_type: typedef
      name: (sipsess_progr_h)(const struct sip_msg *msg, void *arg)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: void
    - item_type: typedef
      name: (sipsess_estab_h)(const struct sip_msg *msg, void *arg)
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: void
    - item_type: typedef
      name: "(sipsess_info_h)(struct sip *sip, const struct sip_msg *msg,\n\t\t\t
        \     void *arg)"
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: void
    - item_type: typedef
      name: "(sipsess_refer_h)(struct sip *sip, const struct sip_msg *msg,\n\t\t\t
        \      void *arg)"
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: void
    - item_type: typedef
      name: (sipsess_close_h)(int err, const struct sip_msg *msg, void *arg)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/rtpproxy/external/libre/include/re_sipsess.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
  types:
    enum:
    - enumerators:
      - name: BFCP_FLOOR_REQUEST
        value: '1'
      - name: BFCP_USER_QUERY
        value: '5'
      - name: BFCP_FLOOR_RELEASE
        value: '2'
      - name: BFCP_FLOOR_REQUEST_STATUS
        value: '4'
      - name: BFCP_FLOOR_REQUEST_QUERY
        value: '3'
      - name: BFCP_USER_STATUS
        value: '6'
      - name: BFCP_FLOOR_QUERY
        value: '7'
      - name: BFCP_FLOOR_STATUS
        value: '8'
      - name: BFCP_CHAIR_ACTION
        value: '9'
      - name: BFCP_CHAIR_ACTION_ACK
        value: '10'
      - name: BFCP_ERROR
        value: '13'
      - name: BFCP_FLOOR_STATUS_ACK
        value: '15'
      - name: BFCP_GOODBYE
        value: '16'
      - name: BFCP_HELLO_ACK
        value: '12'
      - name: BFCP_FLOOR_REQ_STATUS_ACK
        value: '14'
      - name: BFCP_HELLO
        value: '11'
      - name: BFCP_GOODBYE_ACK
        value: '17'
      item_type: enum
      name: bfcp_prim
      pos:
        line_end: 32
        line_start: 14
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - enumerators:
      - name: BFCP_FLOOR_ID
        value: '2'
      - name: BFCP_ERROR_CODE
        value: '6'
      - name: BFCP_SUPPORTED_ATTRS
        value: '10'
      - name: BFCP_USER_DISP_NAME
        value: '12'
      - name: BFCP_FLOOR_REQ_INFO
        value: '15'
      - name: BFCP_REQUEST_STATUS
        value: '5'
      - name: BFCP_STATUS_INFO
        value: '9'
      - name: BFCP_OVERALL_REQ_STATUS
        value: '18'
      - name: BFCP_BENEFICIARY_ID
        value: '1'
      - name: BFCP_PRIORITY
        value: '4'
      - name: BFCP_PART_PROV_INFO
        value: '8'
      - name: BFCP_MANDATORY
        value: 1<<7
      - name: BFCP_BENEFICIARY_INFO
        value: '14'
      - name: BFCP_FLOOR_REQ_STATUS
        value: '17'
      - name: BFCP_ENCODE_HANDLER
        value: 1<<8
      - name: BFCP_FLOOR_REQUEST_ID
        value: '3'
      - name: BFCP_ERROR_INFO
        value: '7'
      - name: BFCP_REQUESTED_BY_INFO
        value: '16'
      - name: BFCP_SUPPORTED_PRIMS
        value: '11'
      - name: BFCP_USER_URI
        value: '13'
      item_type: enum
      name: bfcp_attrib
      pos:
        line_end: 60
        line_start: 35
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - enumerators:
      - name: BFCP_PENDING
        value: '1'
      - name: BFCP_GRANTED
        value: '3'
      - name: BFCP_ACCEPTED
        value: '2'
      - name: BFCP_DENIED
        value: '4'
      - name: BFCP_CANCELLED
        value: '5'
      - name: BFCP_RELEASED
        value: '6'
      - name: BFCP_REVOKED
        value: '7'
      item_type: enum
      name: bfcp_reqstat
      pos:
        line_end: 71
        line_start: 63
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - enumerators:
      - name: BFCP_CONF_NOT_EXIST
        value: '1'
      - name: BFCP_UNKNOWN_MAND_ATTR
        value: '4'
      - name: BFCP_UNKNOWN_PRIM
        value: '3'
      - name: BFCP_USER_NOT_EXIST
        value: '2'
      - name: BFCP_UNAUTH_OPERATION
        value: '5'
      - name: BFCP_INVALID_FLOOR_ID
        value: '6'
      - name: BFCP_FLOOR_REQ_ID_NOT_EXIST
        value: '7'
      - name: BFCP_MAX_FLOOR_REQ_REACHED
        value: '8'
      - name: BFCP_USE_TLS
        value: '9'
      - name: BFCP_PARSE_ERROR
        value: '10'
      - name: BFCP_UNSUPPORTED_VERSION
        value: '12'
      - name: BFCP_BAD_LENGTH
        value: '13'
      - name: BFCP_USE_DTLS
        value: '11'
      - name: BFCP_GENERIC_ERROR
        value: '14'
      item_type: enum
      name: bfcp_err
      pos:
        line_end: 89
        line_start: 74
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - enumerators:
      - name: BFCP_PRIO_LOWEST
        value: '0'
      - name: BFCP_PRIO_HIGHEST
        value: '4'
      - name: BFCP_PRIO_HIGH
        value: '3'
      - name: BFCP_PRIO_NORMAL
        value: '2'
      - name: BFCP_PRIO_LOW
        value: '1'
      item_type: enum
      name: bfcp_priority
      pos:
        line_end: 98
        line_start: 92
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - enumerators:
      - name: BFCP_UDP
      - name: BFCP_DTLS
      item_type: enum
      name: bfcp_transp
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    preproc_defs: []
    structs:
    - fields:
      - name: status
        type: enum bfcp_reqstat
      - name: qpos
        type: uint8_t
      item_type: struct
      name: bfcp_reqstatus
      pos:
        line_end: 110
        line_start: 107
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: code
        type: enum bfcp_err
      - name: '*details'
        type: uint8_t
      - name: len
        type: size_t
      item_type: struct
      name: bfcp_errcode
      pos:
        line_end: 117
        line_start: 113
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: '*attrv'
        type: enum bfcp_attrib
      - name: attrc
        type: size_t
      item_type: struct
      name: bfcp_supattr
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: '*primv'
        type: enum bfcp_prim
      - name: primc
        type: size_t
      item_type: struct
      name: bfcp_supprim
      pos:
        line_end: 129
        line_start: 126
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: le
        type: struct le
      - name: attrl
        type: struct list
      - name: type
        type: enum bfcp_attrib
      - name: mand
        type: bool
      - name: v
        type: "union bfcp_union {\n\t\t/* generic types */\n\t\tchar *str;\n\t\tuint16_t
          u16;\n\n\t\t/* actual attributes */\n\t\tuint16_t beneficiaryid;\n\t\tuint16_t
          floorid;\n\t\tuint16_t floorreqid;\n\t\tenum bfcp_priority priority;\n\t\tstruct
          bfcp_reqstatus reqstatus;\n\t\tstruct bfcp_errcode errcode;\n\t\tchar *errinfo;\n\t\tchar
          *partprovinfo;\n\t\tchar *statusinfo;\n\t\tstruct bfcp_supattr supattr;\n\t\tstruct
          bfcp_supprim supprim;\n\t\tchar *userdname;\n\t\tchar *useruri;\n\t\tuint16_t
          reqbyid;\n\t}"
      item_type: struct
      name: bfcp_attr
      pos:
        line_end: 158
        line_start: 132
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: typev[16]
        type: uint8_t
      - name: typec
        type: size_t
      item_type: struct
      name: bfcp_unknown_attr
      pos:
        line_end: 164
        line_start: 161
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: uma
        type: struct bfcp_unknown_attr
      - name: src
        type: struct sa
      - name: ver
        type: uint8_t
      - name: r
        type: unsigned
      - name: f
        type: unsigned
      - name: prim
        type: enum bfcp_prim
      - name: len
        type: uint16_t
      - name: confid
        type: uint32_t
      - name: tid
        type: uint16_t
      - name: userid
        type: uint16_t
      - name: attrl
        type: struct list
      item_type: struct
      name: bfcp_msg
      pos:
        line_end: 179
        line_start: 167
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    - fields:
      - name: '*ench'
        type: bfcp_encode_h
      - name: '*arg'
        type: void
      item_type: struct
      name: bfcp_encode
      pos:
        line_end: 199
        line_start: 196
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
    typedefs:
    - item_type: typedef
      name: (bfcp_encode_h)(struct mbuf *mb, void *arg)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
      type: int
    - item_type: typedef
      name: (bfcp_attr_h)(const struct bfcp_attr *attr, void *arg)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
      type: bool
    - item_type: typedef
      name: (bfcp_recv_h)(const struct bfcp_msg *msg, void *arg)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
      type: void
    - item_type: typedef
      name: (bfcp_resp_h)(int err, const struct bfcp_msg *msg, void *arg)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
      type: void
    union:
    - fields:
      - name: '*str'
        type: char
      - name: u16
        type: uint16_t
      - name: beneficiaryid
        type: uint16_t
      - name: floorid
        type: uint16_t
      - name: floorreqid
        type: uint16_t
      - name: priority
        type: enum bfcp_priority
      - name: reqstatus
        type: struct bfcp_reqstatus
      - name: errcode
        type: struct bfcp_errcode
      - name: '*errinfo'
        type: char
      - name: '*partprovinfo'
        type: char
      - name: '*statusinfo'
        type: char
      - name: supattr
        type: struct bfcp_supattr
      - name: supprim
        type: struct bfcp_supprim
      - name: '*userdname'
        type: char
      - name: '*useruri'
        type: char
      - name: reqbyid
        type: uint16_t
      item_type: union
      name: bfcp_union
      pos:
        line_end: 157
        line_start: 137
        source_file: /src/rtpproxy/external/libre/include/re_bfcp.h
- function_names:
  - tmr_isrunning
  source_file: /src/rtpproxy/external/libre/include/re_tmr.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le
        type: struct le
      - name: '*th'
        type: tmr_h
      - name: '*arg'
        type: void
      - name: jfs
        type: uint64_t
      item_type: struct
      name: tmr
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/rtpproxy/external/libre/include/re_tmr.h
    typedefs:
    - item_type: typedef
      name: (tmr_h)(void *arg)
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/rtpproxy/external/libre/include/re_tmr.h
      type: void
    union: []
- function_names:
  - PL
  - pl_advance
  - str_isset
  source_file: /src/rtpproxy/external/libre/include/re_fmt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PL_INIT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/rtpproxy/external/libre/include/re_fmt.h
      type_or_value: '{NULL, 0}'
    structs:
    - fields:
      - name: '*p'
        type: char
      - name: l
        type: size_t
      item_type: struct
      name: pl
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/rtpproxy/external/libre/include/re_fmt.h
    - fields:
      - name: '*vph'
        type: re_vprintf_h
      - name: '*arg'
        type: void
      item_type: struct
      name: re_printf
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/rtpproxy/external/libre/include/re_fmt.h
    typedefs:
    - item_type: typedef
      name: (re_vprintf_h)(const char *p, size_t size, void *arg)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/rtpproxy/external/libre/include/re_fmt.h
      type: int
    - item_type: typedef
      name: (re_printf_h)(struct re_printf *pf, void *arg)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/rtpproxy/external/libre/include/re_fmt.h
      type: int
    - item_type: typedef
      name: "(fmt_param_h)(const struct pl *name, const struct pl *val,\n\t\t\t   void
        *arg)"
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/rtpproxy/external/libre/include/re_fmt.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_tcp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (tcp_conn_h)(const struct sa *peer, void *arg)
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: void
    - item_type: typedef
      name: (tcp_estab_h)(void *arg)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: void
    - item_type: typedef
      name: (tcp_send_h)(void *arg)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: void
    - item_type: typedef
      name: (tcp_recv_h)(struct mbuf *mb, void *arg)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: void
    - item_type: typedef
      name: (tcp_close_h)(int err, void *arg)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: void
    - item_type: typedef
      name: (tcp_helper_estab_h)(int *err, bool active, void *arg)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: bool
    - item_type: typedef
      name: (tcp_helper_send_h)(int *err, struct mbuf *mb, void *arg)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: bool
    - item_type: typedef
      name: "(tcp_helper_recv_h)(int *err, struct mbuf *mb, bool *estab,\n\t\t\t\t
        void *arg)"
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/external/libre/include/re_tcp.h
      type: bool
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_main.h
  types:
    enum:
    - enumerators:
      - name: METHOD_NULL
        value: '0'
      - name: METHOD_POLL
      - name: METHOD_SELECT
      - name: METHOD_KQUEUE
      - name: METHOD_EPOLL
      - name: METHOD_MAX
      item_type: enum
      name: poll_method
      pos:
        line_end: 63
        line_start: 55
        source_file: /src/rtpproxy/external/libre/include/re_main.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (fd_h)(int flags, void *arg)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/rtpproxy/external/libre/include/re_main.h
      type: void
    - item_type: typedef
      name: (re_signal_h)(int sig)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/rtpproxy/external/libre/include/re_main.h
      type: void
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libre/include/re_sha.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHA1_DIGEST_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/rtpproxy/external/libre/include/re_sha.h
      type_or_value: '20'
    - item_type: preproc_def
      name: SHA_DIGEST_LENGTH
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/libre/include/re_sha.h
      type_or_value: SHA1_DIGEST_SIZE
    structs:
    - fields:
      - name: state[5]
        type: uint32_t
      - name: count[2]
        type: uint32_t
      - name: buffer[64]
        type: uint8_t
      item_type: struct
      name: SHA1_CTX
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/rtpproxy/external/libre/include/re_sha.h
    typedefs:
    - item_type: typedef
      name: SHA_CTX
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/rtpproxy/external/libre/include/re_sha.h
      type: SHA1_CTX
    union: []
- function_names:
  - _prdic_FD_init
  - _prdic_FD_get_error
  - _prdic_FD_reset
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_fd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: a
        type: double
      - name: b
        type: double
      - name: lastval
        type: double
      - name: '*procchain[2]'
        type: struct _prdic_procchain
      item_type: struct
      name: _prdic_recfilter
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_inst.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*root_band'
        type: struct prdic_band
      - name: '*ab'
        type: struct prdic_band
      - name: '*sip'
        type: struct prdic_sign
      item_type: struct
      name: prdic_inst
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_inst.h
    typedefs: []
    union: []
- function_names:
  - _prdic_do_procrastinate
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DEFINE_RAW_METHOD
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_types.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _prdic_procrastinate_FD
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - band_init
  - prdic_init
  - prdic_CFT_enable
  - prdic_addband
  - band_set_epoch
  - prdic_findband
  - prdic_useband
  - prdic_set_det_type
  - prdic_procrastinate
  - prdic_set_fparams
  - prdic_set_epoch
  - prdic_getncycles_ref
  - prdic_getload
  - prdic_islocked
  - prdic_free
  source_file: /src/rtpproxy/external/libelperiodic/src/periodic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _prdic_PFD_init
  - _prdic_PFD_get_error
  - _prdic_PFD_reset
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_fd.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: last_tclk
        type: struct timespec
      item_type: struct
      name: _prdic_FD
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_fd.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getttime
  - dtime2timespec
  - tplusdtime
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_time.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _prdic_shmtrig_update
  - _prdic_shmtrig_init
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_shmtrig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: target_tclk
        type: struct timespec
      item_type: struct
      name: _prdic_PFD
      pos:
        line_end: 31
        line_start: 29
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_pfd.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign_ctx.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct cftnode
      - name: handler
        type: ctfhandler_m
      - name: '*harg'
        type: void
      item_type: struct
      name: cftnode
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign_ctx.h
    - fields: []
      item_type: struct
      name: prdic_sign_ctx
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign_ctx.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign_impl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sa_save'
        type: struct sigaction
      - name: signum
        type: int
      - name: sigtgt
        type: pthread_t
      - name: '*pscp'
        type: struct prdic_sign_ctx
      - name: bumask
        type: sigset_t
      item_type: struct
      name: prdic_sign
      pos:
        line_end: 33
        line_start: 26
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign_impl.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main_fd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _prdic_recfilter_apply
  - _prdic_recfilter_init
  - _prdic_recfilter_adjust
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_recfilter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/elperiodic.h
  types:
    enum:
    - enumerators:
      - name: PRDIC_DET_FREQ
      - name: PRDIC_DET_PHASE
      item_type: enum
      name: prdic_det_type
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/rtpproxy/external/libelperiodic/src/elperiodic.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - silence
  - main
  source_file: /src/rtpproxy/external/libelperiodic/src/testskew.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _prdic_procrastinate_PFD
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRD_DEBUG
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main_pfd.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_band.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: int
      - name: freq_hz
        type: double
      - name: period
        type: double
      - name: tperiod
        type: struct timespec
      - name: tfreq_hz
        type: struct timespec
      - name: epoch
        type: struct timespec
      - name: loop_error
        type: struct _prdic_recfilter
      - name: le_shmtrig
        type: struct _prdic_shmtrig
      - name: sysload_fltrd
        type: struct _prdic_recfilter
      - name: add_delay_fltrd
        type: struct _prdic_recfilter
      - name: detector
        type: "union {\n      struct _prdic_PFD phase;\n      struct _prdic_FD freq;\n
          \   }"
      - name: last_tclk
        type: struct timespec
      - name: det_type
        type: enum prdic_det_type
      - name: '*next'
        type: struct prdic_band
      item_type: struct
      name: prdic_band
      pos:
        line_end: 47
        line_start: 29
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_band.h
    typedefs: []
    union: []
- function_names:
  - MIN
  - MAX
  - ABS
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_math.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SEC
  - NSEC
  - timespec2dtime
  - dtime2timespec
  - timespeciszero
  - timespecadd
  - timespecsub
  - timespecsub2
  - timespecmul
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NSEC_IN_SEC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_timespecops.h
      type_or_value: 1000000000L
    structs: []
    typedefs: []
    union: []
- function_names:
  - _prdic_sigmoid
  - _prdic_freqoff_to_period
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_math.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_main.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_procchain.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: handle
        type: procchain_step_m
      - name: '*arg'
        type: void
      item_type: struct
      name: _prdic_procchain
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_procchain.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_shmtrig.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: currval
        type: unsigned int
      - name: lTrs
        type: double
      - name: hTrs
        type: double
      - name: link
        type: struct _prdic_procchain
      item_type: struct
      name: _prdic_shmtrig
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_shmtrig.h
    typedefs: []
    union: []
- function_names:
  - sched_handler
  - prdic_sign_getnrecv
  - prdic_sign_setup
  - prdic_sign_dtor
  - prdic_sign_block
  - prdic_sign_unblock
  - prdic_CFT_serve
  - prdic_call_from_thread
  source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UINT_MAX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/external/libelperiodic/src/prdic_sign.c
      type_or_value: '0xffffffff'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/hepconnector/core_hep.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEP_VID_GEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: HEP_TID_PF
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: HEP_TID_PID
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: HEP_TID_SA4
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0003\t"
    - item_type: preproc_def
      name: HEP_TID_DA4
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: HEP_TID_SA6
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0005\t"
    - item_type: preproc_def
      name: HEP_TID_DA6
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0006\t"
    - item_type: preproc_def
      name: HEP_TID_SP
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0007\t"
    - item_type: preproc_def
      name: HEP_TID_DP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0008\t"
    - item_type: preproc_def
      name: HEP_TID_TS_S
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0009\t"
    - item_type: preproc_def
      name: HEP_TID_TS_MS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x000a\t"
    - item_type: preproc_def
      name: HEP_TID_PT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x000b\t"
    - item_type: preproc_def
      name: HEP_TID_CAID
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x000c\t"
    - item_type: preproc_def
      name: HEP_TID_AKEY
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x000e\t"
    - item_type: preproc_def
      name: HEP_TID_PL_RAW
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x000f\t"
    - item_type: preproc_def
      name: HEP_TID_PL_GZ
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0010\t"
    - item_type: preproc_def
      name: HEP_TID_CID
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type_or_value: "0x0011\t"
    structs:
    - fields:
      - name: vendor_id
        type: uint16_t
      - name: type_id
        type: uint16_t
      - name: length
        type: uint16_t
      - name: data[0]
        type: uint8_t
      item_type: struct
      name: hep_chunk
      pos:
        line_end: 104
        line_start: 99
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: data
        type: uint8_t
      item_type: struct
      name: hep_chunk_uint8
      pos:
        line_end: 111
        line_start: 108
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: data
        type: uint16_t
      item_type: struct
      name: hep_chunk_uint16
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: data
        type: uint32_t
      item_type: struct
      name: hep_chunk_uint32
      pos:
        line_end: 125
        line_start: 122
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: '*data'
        type: char
      item_type: struct
      name: hep_chunk_str
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: data
        type: struct in_addr
      item_type: struct
      name: hep_chunk_ip4
      pos:
        line_end: 139
        line_start: 136
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: data
        type: struct in6_addr
      item_type: struct
      name: hep_chunk_ip6
      pos:
        line_end: 146
        line_start: 143
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: id[4]
        type: char
      - name: length
        type: uint16_t
      item_type: struct
      name: hep_ctrl
      pos:
        line_end: 153
        line_start: 150
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: chunk
        type: hep_chunk_t
      - name: '*data'
        type: char
      item_type: struct
      name: hep_chunk_payload
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: header
        type: hep_ctrl_t
      - name: ip_family
        type: hep_chunk_uint8_t
      - name: ip_proto
        type: hep_chunk_uint8_t
      - name: src_port
        type: hep_chunk_uint16_t
      - name: dst_port
        type: hep_chunk_uint16_t
      - name: time_sec
        type: hep_chunk_uint32_t
      - name: time_usec
        type: hep_chunk_uint32_t
      - name: proto_t
        type: hep_chunk_uint8_t
      - name: capt_id
        type: hep_chunk_uint32_t
      item_type: struct
      name: hep_generic
      pos:
        line_end: 176
        line_start: 166
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: hp_v
        type: uint8_t
      - name: hp_l
        type: uint8_t
      - name: hp_f
        type: uint8_t
      - name: hp_p
        type: uint8_t
      - name: hp_sport
        type: uint16_t
      - name: hp_dport
        type: uint16_t
      item_type: struct
      name: hep_hdr
      pos:
        line_end: 209
        line_start: 202
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: tv_sec
        type: uint32_t
      - name: tv_usec
        type: uint32_t
      - name: captid
        type: uint16_t
      item_type: struct
      name: hep_timehdr
      pos:
        line_end: 215
        line_start: 211
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: hp_src
        type: struct in_addr
      - name: hp_dst
        type: struct in_addr
      item_type: struct
      name: hep_iphdr
      pos:
        line_end: 220
        line_start: 217
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    - fields:
      - name: hp6_src
        type: struct in6_addr
      - name: hp6_dst
        type: struct in6_addr
      item_type: struct
      name: hep_ip6hdr
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
    typedefs:
    - item_type: typedef
      name: hep_chunk_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk
    - item_type: typedef
      name: hep_chunk_uint8_t
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_uint8
    - item_type: typedef
      name: hep_chunk_uint16_t
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_uint16
    - item_type: typedef
      name: hep_chunk_uint32_t
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_uint32
    - item_type: typedef
      name: hep_chunk_str_t
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_str
    - item_type: typedef
      name: hep_chunk_ip4_t
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_ip4
    - item_type: typedef
      name: hep_chunk_ip6_t
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_ip6
    - item_type: typedef
      name: hep_ctrl_t
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_ctrl
    - item_type: typedef
      name: hep_chunk_payload_t
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_chunk_payload
    - item_type: typedef
      name: hep_generic_t
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/rtpproxy/external/hepconnector/core_hep.h
      type: hep_generic
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/hepconnector/hep_api.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ip_family
        type: uint8_t
      - name: ip_proto
        type: uint8_t
      - name: proto_type
        type: uint8_t
      - name: src
        type: union rc_naddr
      - name: dst
        type: union rc_naddr
      - name: src_port
        type: uint16_t
      - name: dst_port
        type: uint16_t
      - name: time_sec
        type: uint32_t
      - name: time_usec
        type: uint32_t
      item_type: struct
      name: rc_info
      pos:
        line_end: 69
        line_start: 59
        source_file: /src/rtpproxy/external/hepconnector/hep_api.h
    typedefs: []
    union:
    - fields:
      - name: '*p4'
        type: struct in_addr
      - name: '*p6'
        type: struct in6_addr
      item_type: union
      name: rc_naddr
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/rtpproxy/external/hepconnector/hep_api.h
- function_names:
  - compress_data
  - hep_gen_dtor
  - hep_gen_fill
  - hep_gen_append
  - HGA_O_RET
  - send_hep
  - send_data
  - init_hepsocket
  - init_hepsocket_blocking
  - initCTX
  - showCerts
  - initSSL
  source_file: /src/rtpproxy/external/hepconnector/core_hep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/hepconnector/hepconnector.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sock
        type: int
      - name: initfails
        type: long
      - name: '*ai'
        type: struct addrinfo
      - name: '*hints'
        type: struct addrinfo
      - name: '*capt_host'
        type: char
      - name: capt_port[sizeof("65535") + 1]
        type: char
      - name: '*capt_password'
        type: char
      - name: capt_id
        type: int
      - name: hep_version
        type: int
      - name: usessl
        type: int
      - name: pl_compress
        type: int
      - name: '*hep_hdr'
        type: struct hep_generic
      - name: hdr_len
        type: uint16_t
      - name: sendPacketsCount
        type: uint64_t
      - name: errorsCount
        type: uint64_t
      item_type: struct
      name: hep_ctx
      pos:
        line_end: 77
        line_start: 54
        source_file: /src/rtpproxy/external/hepconnector/hepconnector.h
    typedefs:
    - item_type: typedef
      name: rc_info_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/rtpproxy/external/hepconnector/hepconnector.h
      type: rc_info
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/xxhash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/xxh3.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - XXH_IPREF
  - XXH_CAT
  - XXH_NAME2
  - XXH_HAS_ATTRIBUTE
  - XXH_HAS_ATTRIBUTE
  - XXH_HAS_C_ATTRIBUTE
  - XXH_HAS_C_ATTRIBUTE
  - XXH_HAS_CPP_ATTRIBUTE
  - XXH_HAS_CPP_ATTRIBUTE
  - XXH_ALIGN
  - XXH_ALIGN
  - XXH_ALIGN
  - XXH_ALIGN
  - XXH_ALIGN_MEMBER
  - XXH_ALIGN_MEMBER
  - XXH3_INITSTATE
  - XXH_malloc
  - XXH_free
  - XXH_malloc
  - XXH_free
  - XXH_memcpy
  - XXH_ASSERT
  - XXH_ASSERT
  - XXH_ASSERT
  - XXH_STATIC_ASSERT_WITH_MESSAGE
  - XXH_STATIC_ASSERT_WITH_MESSAGE
  - XXH_STATIC_ASSERT_WITH_MESSAGE
  - XXH_STATIC_ASSERT
  - XXH_COMPILER_GUARD
  - XXH_COMPILER_GUARD
  - XXH_COMPILER_GUARD_CLANG_NEON
  - XXH_COMPILER_GUARD_CLANG_NEON
  - XXH_read32
  - XXH_read32
  - XXH_read32
  - XXH_isLittleEndian
  - XXH_HAS_BUILTIN
  - XXH_HAS_BUILTIN
  - XXH_UNREACHABLE
  - XXH_UNREACHABLE
  - XXH_ASSUME
  - XXH_ASSUME
  - XXH_rotl32
  - XXH_rotl64
  - XXH_rotl32
  - XXH_rotl64
  - XXH_swap32
  - XXH_readLE32
  - XXH_readBE32
  - XXH_readLE32
  - XXH_readBE32
  - XXH_readLE32_align
  - XXH_versionNumber
  - XXH32_round
  - XXH32_avalanche
  - XXH_get32bits
  - XXH32_initAccs
  - XXH32_consumeLong
  - XXH32_mergeAccs
  - XXH32_finalize
  - XXH32_endian_align
  - XXH32_hash_t
  - XXH32_state_t* XXH32_createState(void)
  - XXH_errorcode::XXH32_freeState
  - XXH32_copyState
  - XXH_errorcode::XXH32_reset
  - XXH_errorcode::XXH32_update
  - XXH32_hash_t::XXH32_digest
  - XXH32_canonicalFromHash
  - XXH32_hash_t::XXH32_hashFromCanonical
  - XXH_read64
  - XXH_read64
  - XXH_read64
  - XXH_swap64
  - XXH_readLE64
  - XXH_readBE64
  - XXH_readLE64
  - XXH_readBE64
  - XXH_readLE64_align
  - XXH64_round
  - XXH64_mergeRound
  - XXH64_avalanche
  - XXH_get64bits
  - XXH64_initAccs
  - XXH64_consumeLong
  - XXH64_mergeAccs
  - XXH64_finalize
  - XXH64_endian_align
  - XXH64_hash_t
  - XXH64_state_t* XXH64_createState(void)
  - XXH_errorcode::XXH64_freeState
  - XXH64_copyState
  - XXH_errorcode::XXH64_reset
  - XXH_errorcode::XXH64_update
  - XXH64_hash_t::XXH64_digest
  - XXH64_canonicalFromHash
  - XXH64_hash_t::XXH64_hashFromCanonical
  - XXH_likely
  - XXH_unlikely
  - XXH_likely
  - XXH_unlikely
  - XXH_HAS_INCLUDE
  - XXH_vld1q_u64
  - XXH_vld1q_u64
  - XXH_vmlal_low_u32
  - XXH_vmlal_high_u32
  - XXH_vmlal_low_u32
  - XXH_vmlal_high_u32
  - XXH_vec_revb
  - XXH_vec_loadu
  - XXH_vec_mulo
  - XXH_vec_mule
  - ACCRND
  - XXH_PREFETCH
  - XXH_PREFETCH
  - XXH_PREFETCH
  - XXH_PREFETCH
  - XXH_mult32to64
  - XXH_mult32to64
  - XXH_mult32to64
  - XXH_mult64to128
  - XXH3_mul128_fold64
  - XXH_xorshift64
  - XXH3_avalanche
  - XXH3_rrmxmx
  - XXH3_len_1to3_64b
  - XXH3_len_4to8_64b
  - XXH3_len_9to16_64b
  - XXH3_len_0to16_64b
  - XXH3_mix16B
  - XXH3_len_17to128_64b
  - XXH3_len_129to240_64b
  - XXH3_ACCUMULATE_TEMPLATE
  - XXH_writeLE64
  - XXH3_accumulate_512_avx512
  - XXH3_scrambleAcc_avx512
  - XXH3_initCustomSecret_avx512
  - XXH3_accumulate_512_avx2
  - XXH3_scrambleAcc_avx2
  - XXH3_initCustomSecret_avx2
  - XXH3_accumulate_512_sse2
  - XXH3_scrambleAcc_sse2
  - XXH3_initCustomSecret_sse2
  - XXH3_accumulate_512_neon
  - XXH3_scrambleAcc_neon
  - XXH3_accumulate_512_vsx
  - XXH3_scrambleAcc_vsx
  - XXH3_accumulate_512_sve
  - _LSX_SHUFFLE
  - XXH3_accumulate_512_lsx
  - XXH3_scrambleAcc_lsx
  - XXH_mult32to64_add64
  - XXH_mult32to64_add64
  - XXH3_scalarRound
  - XXH3_accumulate_512_scalar
  - XXH3_scalarScrambleRound
  - XXH3_scrambleAcc_scalar
  - XXH3_initCustomSecret_scalar
  - XXH3_mix2Accs
  - XXH64_hash_t::XXH3_mergeAccs
  - XXH64_hash_t::XXH3_finalizeLong_64b
  - XXH64_hash_t::XXH3_hashLong_64b_internal
  - XXH64_hash_t::XXH3_hashLong_64b_withSecret
  - XXH3_hashLong_64b_default
  - XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
  - XXH64_hash_t::XXH3_hashLong_64b_withSeed
  - XXH64_hash_t::XXH3_64bits_internal
  - XXH64_hash_t::XXH3_64bits
  - XXH64_hash_t::XXH3_64bits_withSecret
  - XXH64_hash_t::XXH3_64bits_withSeed
  - XXH64_hash_t::XXH3_64bits_withSecretandSeed
  - XXH_alignedMalloc
  - XXH_alignedFree
  - XXH3_state_t* XXH3_createState(void)
  - XXH_errorcode::XXH3_freeState
  - XXH3_copyState
  - XXH3_reset_internal
  - XXH_errorcode::XXH3_64bits_reset
  - XXH_errorcode::XXH3_64bits_reset_withSecret
  - XXH_errorcode::XXH3_64bits_reset_withSeed
  - XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
  - XXH3_consumeStripes
  - XXH_errorcode::XXH3_64bits_update
  - XXH3_digest_long
  - XXH64_hash_t::XXH3_64bits_digest
  - XXH3_len_1to3_128b
  - XXH3_len_4to8_128b
  - XXH3_len_9to16_128b
  - XXH3_len_0to16_128b
  - XXH128_hash_t::XXH128_mix32B
  - XXH3_len_17to128_128b
  - XXH3_len_129to240_128b
  - XXH128_hash_t::XXH3_finalizeLong_128b
  - XXH128_hash_t::XXH3_hashLong_128b_internal
  - XXH3_hashLong_128b_default
  - XXH128_hash_t::XXH3_hashLong_128b_withSecret
  - XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
  - XXH128_hash_t::XXH3_hashLong_128b_withSeed
  - XXH128_hash_t::XXH3_128bits_internal
  - XXH128_hash_t::XXH3_128bits
  - XXH128_hash_t::XXH3_128bits_withSecret
  - XXH128_hash_t::XXH3_128bits_withSeed
  - XXH128_hash_t::XXH3_128bits_withSecretandSeed
  - XXH128_hash_t::XXH128
  - XXH_errorcode::XXH3_128bits_reset
  - XXH_errorcode::XXH3_128bits_reset_withSecret
  - XXH_errorcode::XXH3_128bits_reset_withSeed
  - XXH_errorcode::XXH3_128bits_reset_withSecretandSeed
  - XXH_errorcode::XXH3_128bits_update
  - XXH128_hash_t::XXH3_128bits_digest
  - XXH128_isEqual
  - XXH128_cmp
  - XXH128_canonicalFromHash
  - XXH128_hash_t::XXH128_hashFromCanonical
  - XXH_MIN
  - XXH3_combine16
  - XXH_errorcode::XXH3_generateSecret
  - XXH3_generateSecret_fromSeed
  source_file: /src/rtpproxy/external/xxHash/xxhash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __inline __attribute__((__unused__))
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static inline
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __inline
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_NAMESPACE
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_INLINE_
    - item_type: preproc_def
      name: XXH_OK
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH_OK)
    - item_type: preproc_def
      name: XXH_ERROR
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH_ERROR)
    - item_type: preproc_def
      name: XXH_errorcode
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH_errorcode)
    - item_type: preproc_def
      name: XXH32_canonical_t
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH32_canonical_t)
    - item_type: preproc_def
      name: XXH64_canonical_t
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH64_canonical_t)
    - item_type: preproc_def
      name: XXH128_canonical_t
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH128_canonical_t)
    - item_type: preproc_def
      name: XXH32_state_s
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH32_state_s)
    - item_type: preproc_def
      name: XXH32_state_t
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH32_state_t)
    - item_type: preproc_def
      name: XXH64_state_s
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH64_state_s)
    - item_type: preproc_def
      name: XXH64_state_t
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH64_state_t)
    - item_type: preproc_def
      name: XXH3_state_s
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH3_state_s)
    - item_type: preproc_def
      name: XXH3_state_t
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH3_state_t)
    - item_type: preproc_def
      name: XXH128_hash_t
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_IPREF(XXH128_hash_t)
    - item_type: preproc_def
      name: XXHASH_H_5627135585666179
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: XXH_versionNumber
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH_versionNumber)
    - item_type: preproc_def
      name: XXH32
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32)
    - item_type: preproc_def
      name: XXH32_createState
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_createState)
    - item_type: preproc_def
      name: XXH32_freeState
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_freeState)
    - item_type: preproc_def
      name: XXH32_reset
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_reset)
    - item_type: preproc_def
      name: XXH32_update
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_update)
    - item_type: preproc_def
      name: XXH32_digest
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_digest)
    - item_type: preproc_def
      name: XXH32_copyState
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_copyState)
    - item_type: preproc_def
      name: XXH32_canonicalFromHash
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_canonicalFromHash)
    - item_type: preproc_def
      name: XXH32_hashFromCanonical
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_hashFromCanonical)
    - item_type: preproc_def
      name: XXH64
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64)
    - item_type: preproc_def
      name: XXH64_createState
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_createState)
    - item_type: preproc_def
      name: XXH64_freeState
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_freeState)
    - item_type: preproc_def
      name: XXH64_reset
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_reset)
    - item_type: preproc_def
      name: XXH64_update
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_update)
    - item_type: preproc_def
      name: XXH64_digest
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_digest)
    - item_type: preproc_def
      name: XXH64_copyState
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_copyState)
    - item_type: preproc_def
      name: XXH64_canonicalFromHash
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash)
    - item_type: preproc_def
      name: XXH64_hashFromCanonical
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_hashFromCanonical)
    - item_type: preproc_def
      name: XXH3_64bits
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits)
    - item_type: preproc_def
      name: XXH3_64bits_withSecret
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSecret)
    - item_type: preproc_def
      name: XXH3_64bits_withSeed
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSeed)
    - item_type: preproc_def
      name: XXH3_64bits_withSecretandSeed
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSecretandSeed)
    - item_type: preproc_def
      name: XXH3_createState
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_createState)
    - item_type: preproc_def
      name: XXH3_freeState
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_freeState)
    - item_type: preproc_def
      name: XXH3_copyState
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_copyState)
    - item_type: preproc_def
      name: XXH3_64bits_reset
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset)
    - item_type: preproc_def
      name: XXH3_64bits_reset_withSeed
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSeed)
    - item_type: preproc_def
      name: XXH3_64bits_reset_withSecret
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSecret)
    - item_type: preproc_def
      name: XXH3_64bits_reset_withSecretandSeed
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSecretandSeed)
    - item_type: preproc_def
      name: XXH3_64bits_update
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_update)
    - item_type: preproc_def
      name: XXH3_64bits_digest
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_digest)
    - item_type: preproc_def
      name: XXH3_generateSecret
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_generateSecret)
    - item_type: preproc_def
      name: XXH3_generateSecret_fromSeed
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_generateSecret_fromSeed)
    - item_type: preproc_def
      name: XXH128
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH128)
    - item_type: preproc_def
      name: XXH3_128bits
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits)
    - item_type: preproc_def
      name: XXH3_128bits_withSeed
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSeed)
    - item_type: preproc_def
      name: XXH3_128bits_withSecret
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSecret)
    - item_type: preproc_def
      name: XXH3_128bits_withSecretandSeed
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSecretandSeed)
    - item_type: preproc_def
      name: XXH3_128bits_reset
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset)
    - item_type: preproc_def
      name: XXH3_128bits_reset_withSeed
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSeed)
    - item_type: preproc_def
      name: XXH3_128bits_reset_withSecret
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSecret)
    - item_type: preproc_def
      name: XXH3_128bits_reset_withSecretandSeed
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSecretandSeed)
    - item_type: preproc_def
      name: XXH3_128bits_update
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_update)
    - item_type: preproc_def
      name: XXH3_128bits_digest
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_digest)
    - item_type: preproc_def
      name: XXH128_isEqual
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH128_isEqual)
    - item_type: preproc_def
      name: XXH128_cmp
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH128_cmp)
    - item_type: preproc_def
      name: XXH128_canonicalFromHash
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH128_canonicalFromHash)
    - item_type: preproc_def
      name: XXH128_hashFromCanonical
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH128_hashFromCanonical)
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: XXH_CONSTF
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __attribute__((__const__))
    - item_type: preproc_def
      name: XXH_PUREF
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __attribute__((__pure__))
    - item_type: preproc_def
      name: XXH_MALLOCF
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: XXH_VERSION_MAJOR
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_VERSION_MINOR
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '8'
    - item_type: preproc_def
      name: XXH_VERSION_RELEASE
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XXH_VERSION_NUMBER
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE)
    - item_type: preproc_def
      name: XXH_C23_VN
      pos:
        line_end: 800
        line_start: 799
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: 201711L
    - item_type: preproc_def
      name: XXH_FALLTHROUGH
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '[[fallthrough]]'
    - item_type: preproc_def
      name: XXH_FALLTHROUGH
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __attribute__ ((__fallthrough__))
    - item_type: preproc_def
      name: XXH_NOESCAPE
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __attribute__((__noescape__))
    - item_type: preproc_def
      name: XXH_SCALAR
      pos:
        line_end: 1120
        line_start: 1119
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: XXH_SSE2
      pos:
        line_end: 1121
        line_start: 1120
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: XXH_AVX2
      pos:
        line_end: 1122
        line_start: 1121
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: XXH_AVX512
      pos:
        line_end: 1123
        line_start: 1122
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: XXH_NEON
      pos:
        line_end: 1124
        line_start: 1123
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: XXH_VSX
      pos:
        line_end: 1125
        line_start: 1124
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: XXH_SVE
      pos:
        line_end: 1126
        line_start: 1125
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: XXH_LSX
      pos:
        line_end: 1127
        line_start: 1126
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: XXH3_SECRET_SIZE_MIN
      pos:
        line_end: 1191
        line_start: 1190
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '136'
    - item_type: preproc_def
      name: XXH3_INTERNALBUFFER_SIZE
      pos:
        line_end: 1736
        line_start: 1735
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '256'
    - item_type: preproc_def
      name: XXH3_SECRET_DEFAULT_SIZE
      pos:
        line_end: 1746
        line_start: 1745
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '192'
    - item_type: preproc_def
      name: XXH3_MIDSIZE_MAX
      pos:
        line_end: 1945
        line_start: 1944
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '240'
    - item_type: preproc_def
      name: XXH_FORCE_MEMORY_ACCESS
      pos:
        line_end: 2160
        line_start: 2159
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_SIZE_OPT
      pos:
        line_end: 2188
        line_start: 2187
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_ALIGN_CHECK
      pos:
        line_end: 2218
        line_start: 2217
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_NO_INLINE_HINTS
      pos:
        line_end: 2240
        line_start: 2239
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH3_INLINE_SECRET
      pos:
        line_end: 2257
        line_start: 2256
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH32_ENDJMP
      pos:
        line_end: 2269
        line_start: 2268
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_MEMORY_ACCESS
      pos:
        line_end: 2301
        line_start: 2300
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_SIZE_OPT
      pos:
        line_end: 2308
        line_start: 2307
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_SIZE_OPT
      pos:
        line_end: 2310
        line_start: 2309
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_ALIGN_CHECK
      pos:
        line_end: 2319
        line_start: 2318
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_ALIGN_CHECK
      pos:
        line_end: 2321
        line_start: 2320
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_NO_INLINE_HINTS
      pos:
        line_end: 2327
        line_start: 2326
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_NO_INLINE_HINTS
      pos:
        line_end: 2329
        line_start: 2328
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH3_INLINE_SECRET
      pos:
        line_end: 2336
        line_start: 2335
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH3_INLINE_SECRET
      pos:
        line_end: 2338
        line_start: 2337
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH32_ENDJMP
      pos:
        line_end: 2344
        line_start: 2343
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_INLINE
      pos:
        line_end: 2417
        line_start: 2416
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __attribute__((__unused__))
    - item_type: preproc_def
      name: XXH_FORCE_INLINE
      pos:
        line_end: 2419
        line_start: 2418
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_NO_INLINE
      pos:
        line_end: 2421
        line_start: 2420
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_FORCE_INLINE
      pos:
        line_end: 2424
        line_start: 2423
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __inline__ __attribute__((__always_inline__, __unused__))
    - item_type: preproc_def
      name: XXH_NO_INLINE
      pos:
        line_end: 2425
        line_start: 2424
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __attribute__((__noinline__))
    - item_type: preproc_def
      name: XXH_FORCE_INLINE
      pos:
        line_end: 2427
        line_start: 2426
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __forceinline
    - item_type: preproc_def
      name: XXH_NO_INLINE
      pos:
        line_end: 2428
        line_start: 2427
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static __declspec(noinline)
    - item_type: preproc_def
      name: XXH_FORCE_INLINE
      pos:
        line_end: 2431
        line_start: 2430
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static inline
    - item_type: preproc_def
      name: XXH_NO_INLINE
      pos:
        line_end: 2432
        line_start: 2431
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_FORCE_INLINE
      pos:
        line_end: 2434
        line_start: 2433
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_NO_INLINE
      pos:
        line_end: 2435
        line_start: 2434
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_STATIC
      pos:
        line_end: 2439
        line_start: 2438
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_FORCE_INLINE
    - item_type: preproc_def
      name: XXH_STATIC
      pos:
        line_end: 2441
        line_start: 2440
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH3_WITH_SECRET_INLINE
      pos:
        line_end: 2445
        line_start: 2444
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_FORCE_INLINE
    - item_type: preproc_def
      name: XXH3_WITH_SECRET_INLINE
      pos:
        line_end: 2447
        line_start: 2446
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NO_INLINE
    - item_type: preproc_def
      name: XXH_RESTRICT
      pos:
        line_end: 2453
        line_start: 2452
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: restrict
    - item_type: preproc_def
      name: XXH_RESTRICT
      pos:
        line_end: 2462
        line_start: 2461
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __restrict
    - item_type: preproc_def
      name: XXH_DEBUGLEVEL
      pos:
        line_end: 2480
        line_start: 2479
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: DEBUGLEVEL
    - item_type: preproc_def
      name: XXH_DEBUGLEVEL
      pos:
        line_end: 2482
        line_start: 2481
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BYTE
      pos:
        line_end: 2558
        line_start: 2557
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: xxh_u8
    - item_type: preproc_def
      name: U8
      pos:
        line_end: 2559
        line_start: 2558
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: xxh_u8
    - item_type: preproc_def
      name: U32
      pos:
        line_end: 2560
        line_start: 2559
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: xxh_u32
    - item_type: preproc_def
      name: XXH_CPU_LITTLE_ENDIAN
      pos:
        line_end: 2688
        line_start: 2687
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_CPU_LITTLE_ENDIAN
      pos:
        line_end: 2691
        line_start: 2690
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_CPU_LITTLE_ENDIAN
      pos:
        line_end: 2708
        line_start: 2707
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_isLittleEndian()
    - item_type: preproc_def
      name: XXH_GCC_VERSION
      pos:
        line_end: 2718
        line_start: 2717
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: (__GNUC__ * 100 + __GNUC_MINOR__)
    - item_type: preproc_def
      name: XXH_rotl32
      pos:
        line_end: 2786
        line_start: 2785
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_rotateleft32
    - item_type: preproc_def
      name: XXH_rotl64
      pos:
        line_end: 2787
        line_start: 2786
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_rotateleft64
    - item_type: preproc_def
      name: XXH_rotl32
      pos:
        line_end: 2789
        line_start: 2788
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_stdc_rotate_left
    - item_type: preproc_def
      name: XXH_rotl64
      pos:
        line_end: 2790
        line_start: 2789
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_stdc_rotate_left
    - item_type: preproc_def
      name: XXH_swap32
      pos:
        line_end: 2809
        line_start: 2808
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: _byteswap_ulong
    - item_type: preproc_def
      name: XXH_swap32
      pos:
        line_end: 2811
        line_start: 2810
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_bswap32
    - item_type: preproc_def
      name: XXH_PRIME32_1
      pos:
        line_end: 2903
        line_start: 2902
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x9E3779B1U  '
    - item_type: preproc_def
      name: XXH_PRIME32_2
      pos:
        line_end: 2904
        line_start: 2903
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x85EBCA77U  '
    - item_type: preproc_def
      name: XXH_PRIME32_3
      pos:
        line_end: 2905
        line_start: 2904
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0xC2B2AE3DU  '
    - item_type: preproc_def
      name: XXH_PRIME32_4
      pos:
        line_end: 2906
        line_start: 2905
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x27D4EB2FU  '
    - item_type: preproc_def
      name: XXH_PRIME32_5
      pos:
        line_end: 2907
        line_start: 2906
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x165667B1U  '
    - item_type: preproc_def
      name: PRIME32_1
      pos:
        line_end: 2910
        line_start: 2909
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME32_1
    - item_type: preproc_def
      name: PRIME32_2
      pos:
        line_end: 2911
        line_start: 2910
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME32_2
    - item_type: preproc_def
      name: PRIME32_3
      pos:
        line_end: 2912
        line_start: 2911
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME32_3
    - item_type: preproc_def
      name: PRIME32_4
      pos:
        line_end: 2913
        line_start: 2912
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME32_4
    - item_type: preproc_def
      name: PRIME32_5
      pos:
        line_end: 2914
        line_start: 2913
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME32_5
    - item_type: preproc_def
      name: XXH_PROCESS1
      pos:
        line_end: 3073
        line_start: 3069
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: "do {                             \\\n    hash += (*ptr++) *
        XXH_PRIME32_5;                 \\\n    hash = XXH_rotl32(hash, 11) * XXH_PRIME32_1;
        \     \\\n} while (0)"
    - item_type: preproc_def
      name: XXH_PROCESS4
      pos:
        line_end: 3079
        line_start: 3074
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: "do {                             \\\n    hash += XXH_get32bits(ptr)
        * XXH_PRIME32_3;       \\\n    ptr += 4;                                         \\\n
        \   hash  = XXH_rotl32(hash, 17) * XXH_PRIME32_4;     \\\n} while (0)"
    - item_type: preproc_def
      name: PROCESS1
      pos:
        line_end: 3141
        line_start: 3140
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PROCESS1
    - item_type: preproc_def
      name: PROCESS4
      pos:
        line_end: 3142
        line_start: 3141
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PROCESS4
    - item_type: preproc_def
      name: U64
      pos:
        line_end: 3325
        line_start: 3324
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: xxh_u64
    - item_type: preproc_def
      name: XXH_swap64
      pos:
        line_end: 3375
        line_start: 3374
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: _byteswap_uint64
    - item_type: preproc_def
      name: XXH_swap64
      pos:
        line_end: 3377
        line_start: 3376
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_bswap64
    - item_type: preproc_def
      name: XXH_PRIME64_1
      pos:
        line_end: 3454
        line_start: 3453
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x9E3779B185EBCA87ULL  '
    - item_type: preproc_def
      name: XXH_PRIME64_2
      pos:
        line_end: 3455
        line_start: 3454
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0xC2B2AE3D27D4EB4FULL  '
    - item_type: preproc_def
      name: XXH_PRIME64_3
      pos:
        line_end: 3456
        line_start: 3455
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x165667B19E3779F9ULL  '
    - item_type: preproc_def
      name: XXH_PRIME64_4
      pos:
        line_end: 3457
        line_start: 3456
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x85EBCA77C2B2AE63ULL  '
    - item_type: preproc_def
      name: XXH_PRIME64_5
      pos:
        line_end: 3458
        line_start: 3457
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0x27D4EB2F165667C5ULL  '
    - item_type: preproc_def
      name: PRIME64_1
      pos:
        line_end: 3461
        line_start: 3460
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME64_1
    - item_type: preproc_def
      name: PRIME64_2
      pos:
        line_end: 3462
        line_start: 3461
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME64_2
    - item_type: preproc_def
      name: PRIME64_3
      pos:
        line_end: 3463
        line_start: 3462
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME64_3
    - item_type: preproc_def
      name: PRIME64_4
      pos:
        line_end: 3464
        line_start: 3463
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME64_4
    - item_type: preproc_def
      name: PRIME64_5
      pos:
        line_end: 3465
        line_start: 3464
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PRIME64_5
    - item_type: preproc_def
      name: PROCESS1_64
      pos:
        line_end: 3637
        line_start: 3636
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PROCESS1_64
    - item_type: preproc_def
      name: PROCESS4_64
      pos:
        line_end: 3638
        line_start: 3637
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PROCESS4_64
    - item_type: preproc_def
      name: PROCESS8_64
      pos:
        line_end: 3639
        line_start: 3638
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_PROCESS8_64
    - item_type: preproc_def
      name: XXH_HAS_INCLUDE
      pos:
        line_end: 3837
        line_start: 3836
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __has_include
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 3851
        line_start: 3850
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '__inline__  '
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3955
        line_start: 3954
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_SCALAR
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 3965
        line_start: 3964
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '8'
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3974
        line_start: 3973
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_SVE
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3983
        line_start: 3982
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_NEON
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3985
        line_start: 3984
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_AVX512
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3987
        line_start: 3986
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_AVX2
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3989
        line_start: 3988
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_SSE2
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3993
        line_start: 3992
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_VSX
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3995
        line_start: 3994
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_LSX
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 3997
        line_start: 3996
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_SCALAR
    - item_type: preproc_def
      name: XXH_VECTOR
      pos:
        line_end: 4009
        line_start: 4008
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_SCALAR
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4018
        line_start: 4017
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '64  '
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4020
        line_start: 4019
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '8'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4022
        line_start: 4021
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '16'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4024
        line_start: 4023
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '32'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4026
        line_start: 4025
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '16'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4028
        line_start: 4027
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '16'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4030
        line_start: 4029
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '64'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4032
        line_start: 4031
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '64'
    - item_type: preproc_def
      name: XXH_ACC_ALIGN
      pos:
        line_end: 4034
        line_start: 4033
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '64'
    - item_type: preproc_def
      name: XXH_SEC_ALIGN
      pos:
        line_end: 4040
        line_start: 4039
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_ACC_ALIGN
    - item_type: preproc_def
      name: XXH_SEC_ALIGN
      pos:
        line_end: 4042
        line_start: 4041
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_ACC_ALIGN
    - item_type: preproc_def
      name: XXH_SEC_ALIGN
      pos:
        line_end: 4044
        line_start: 4043
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '8'
    - item_type: preproc_def
      name: XXH_ALIASING
      pos:
        line_end: 4048
        line_start: 4047
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __attribute__((__may_alias__))
    - item_type: preproc_def
      name: XXH3_NEON_LANES
      pos:
        line_end: 4196
        line_start: 4195
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '6'
    - item_type: preproc_def
      name: XXH3_NEON_LANES
      pos:
        line_end: 4198
        line_start: 4197
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_ACC_NB
    - item_type: preproc_def
      name: XXH_VSX_BE
      pos:
        line_end: 4251
        line_start: 4250
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_VSX_BE
      pos:
        line_end: 4254
        line_start: 4253
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_VSX_BE
      pos:
        line_end: 4256
        line_start: 4255
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_vec_revb
      pos:
        line_end: 4262
        line_start: 4261
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: vec_revb
    - item_type: preproc_def
      name: XXH_vec_mulo
      pos:
        line_end: 4297
        line_start: 4296
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: vec_mulo
    - item_type: preproc_def
      name: XXH_vec_mule
      pos:
        line_end: 4298
        line_start: 4297
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: vec_mule
    - item_type: preproc_def
      name: XXH_vec_mulo
      pos:
        line_end: 4302
        line_start: 4301
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_altivec_vmulouw
    - item_type: preproc_def
      name: XXH_vec_mule
      pos:
        line_end: 4303
        line_start: 4302
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: __builtin_altivec_vmuleuw
    - item_type: preproc_def
      name: XXH_SECRET_DEFAULT_SIZE
      pos:
        line_end: 4358
        line_start: 4357
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '192   '
    - item_type: preproc_def
      name: kSecret
      pos:
        line_end: 4384
        line_start: 4383
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_kSecret
    - item_type: preproc_def
      name: XXH3_MIDSIZE_STARTOFFSET
      pos:
        line_end: 4809
        line_start: 4808
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '3'
    - item_type: preproc_def
      name: XXH3_MIDSIZE_LASTOFFSET
      pos:
        line_end: 4810
        line_start: 4809
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '17'
    - item_type: preproc_def
      name: XXH_STRIPE_LEN
      pos:
        line_end: 4863
        line_start: 4862
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '64'
    - item_type: preproc_def
      name: XXH_SECRET_CONSUME_RATE
      pos:
        line_end: 4864
        line_start: 4863
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '8   '
    - item_type: preproc_def
      name: XXH_ACC_NB
      pos:
        line_end: 4865
        line_start: 4864
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: (XXH_STRIPE_LEN / sizeof(xxh_u64))
    - item_type: preproc_def
      name: STRIPE_LEN
      pos:
        line_end: 4868
        line_start: 4867
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_STRIPE_LEN
    - item_type: preproc_def
      name: ACC_NB
      pos:
        line_end: 4869
        line_start: 4868
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH_ACC_NB
    - item_type: preproc_def
      name: XXH_PREFETCH_DIST
      pos:
        line_end: 4874
        line_start: 4873
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '320'
    - item_type: preproc_def
      name: XXH_PREFETCH_DIST
      pos:
        line_end: 4877
        line_start: 4876
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '512'
    - item_type: preproc_def
      name: XXH_PREFETCH_DIST
      pos:
        line_end: 4879
        line_start: 4878
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '384'
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5928
        line_start: 5927
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_avx512
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5929
        line_start: 5928
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_avx512
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5930
        line_start: 5929
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_avx512
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5931
        line_start: 5930
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_avx512
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5935
        line_start: 5934
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_avx2
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5936
        line_start: 5935
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_avx2
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5937
        line_start: 5936
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_avx2
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5938
        line_start: 5937
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_avx2
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5942
        line_start: 5941
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_sse2
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5943
        line_start: 5942
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_sse2
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5944
        line_start: 5943
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_sse2
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5945
        line_start: 5944
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_sse2
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5949
        line_start: 5948
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_neon
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5950
        line_start: 5949
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_neon
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5951
        line_start: 5950
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_neon
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5952
        line_start: 5951
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_scalar
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5956
        line_start: 5955
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_vsx
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5957
        line_start: 5956
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_vsx
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5958
        line_start: 5957
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_vsx
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5959
        line_start: 5958
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_scalar
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5962
        line_start: 5961
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_sve
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5963
        line_start: 5962
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_sve
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5964
        line_start: 5963
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_scalar
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5965
        line_start: 5964
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_scalar
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5968
        line_start: 5967
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_lsx
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5969
        line_start: 5968
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_lsx
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5970
        line_start: 5969
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_lsx
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5971
        line_start: 5970
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_scalar
    - item_type: preproc_def
      name: XXH3_accumulate_512
      pos:
        line_end: 5975
        line_start: 5974
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_512_scalar
    - item_type: preproc_def
      name: XXH3_accumulate
      pos:
        line_end: 5976
        line_start: 5975
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_accumulate_scalar
    - item_type: preproc_def
      name: XXH3_scrambleAcc
      pos:
        line_end: 5977
        line_start: 5976
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_scrambleAcc_scalar
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5978
        line_start: 5977
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_scalar
    - item_type: preproc_def
      name: XXH3_initCustomSecret
      pos:
        line_end: 5984
        line_start: 5983
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: XXH3_initCustomSecret_scalar
    - item_type: preproc_def
      name: XXH_SECRET_LASTACC_START
      pos:
        line_end: 6015
        line_start: 6014
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: XXH_SECRET_MERGEACCS_START
      pos:
        line_end: 6056
        line_start: 6055
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '11'
    - item_type: preproc_def
      name: XXH3_INIT_ACC
      pos:
        line_end: 6065
        line_start: 6063
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: "{ XXH_PRIME32_3, XXH_PRIME64_1, XXH_PRIME64_2, XXH_PRIME64_3,
        \\\n                        XXH_PRIME64_4, XXH_PRIME32_2, XXH_PRIME64_5, XXH_PRIME32_1
        }"
    - item_type: preproc_def
      name: XXH3_STREAM_USE_STACK
      pos:
        line_end: 6450
        line_start: 6449
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH3_INTERNALBUFFER_STRIPES
      pos:
        line_end: 6491
        line_start: 6490
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type_or_value: (XXH3_INTERNALBUFFER_SIZE / XXH_STRIPE_LEN)
    structs:
    - fields:
      - name: digest[4]
        type: unsigned char
      item_type: struct
      name: XXH32_canonical_t
      pos:
        line_end: 755
        line_start: 753
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: digest[sizeof(XXH64_hash_t)]
        type: unsigned char
      item_type: struct
      name: XXH64_canonical_t
      pos:
        line_end: 1027
        line_start: 1027
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: low64
        type: XXH64_hash_t
      - name: high64
        type: XXH64_hash_t
      item_type: struct
      name: XXH128_hash_t
      pos:
        line_end: 1384
        line_start: 1381
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: digest[sizeof(XXH128_hash_t)]
        type: unsigned char
      item_type: struct
      name: XXH128_canonical_t
      pos:
        line_end: 1604
        line_start: 1604
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: total_len_32
        type: XXH32_hash_t
      - name: large_len
        type: XXH32_hash_t
      - name: acc[4]
        type: XXH32_hash_t
      - name: buffer[16]
        type: unsigned char
      - name: bufferedSize
        type: XXH32_hash_t
      - name: reserved
        type: XXH32_hash_t
      item_type: struct
      name: XXH32_state_s
      pos:
        line_end: 1678
        line_start: 1671
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: total_len
        type: XXH64_hash_t
      - name: acc[4]
        type: XXH64_hash_t
      - name: buffer[32]
        type: unsigned char
      - name: bufferedSize
        type: XXH32_hash_t
      - name: reserved32
        type: XXH32_hash_t
      - name: reserved64
        type: XXH64_hash_t
      item_type: struct
      name: XXH64_state_s
      pos:
        line_end: 1702
        line_start: 1695
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: (64, XXH64_hash_t acc[8])
        type: XXH_ALIGN_MEMBER
      - name: (64, unsigned char customSecret[XXH3_SECRET_DEFAULT_SIZE])
        type: XXH_ALIGN_MEMBER
      - name: (64, unsigned char buffer[XXH3_INTERNALBUFFER_SIZE])
        type: XXH_ALIGN_MEMBER
      - name: bufferedSize
        type: XXH32_hash_t
      - name: useSeed
        type: XXH32_hash_t
      - name: nbStripesSoFar
        type: size_t
      - name: totalLen
        type: XXH64_hash_t
      - name: nbStripesPerBlock
        type: size_t
      - name: secretLimit
        type: size_t
      - name: seed
        type: XXH64_hash_t
      - name: reserved64
        type: XXH64_hash_t
      - name: '* extSecret'
        type: unsigned char
      item_type: struct
      name: XXH3_state_s
      pos:
        line_end: 1796
        line_start: 1769
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    typedefs:
    - item_type: typedef
      name: XXH32_hash_t
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: uint32_t
    - item_type: typedef
      name: XXH32_hash_t
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: uint32_t
    - item_type: typedef
      name: XXH32_hash_t
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: unsigned int
    - item_type: typedef
      name: XXH32_hash_t
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: unsigned long
    - item_type: typedef
      name: XXH32_state_t
      pos:
        line_end: 652
        line_start: 652
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH32_state_s
    - item_type: typedef
      name: XXH64_hash_t
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: uint64_t
    - item_type: typedef
      name: XXH64_hash_t
      pos:
        line_end: 874
        line_start: 874
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: uint64_t
    - item_type: typedef
      name: XXH64_hash_t
      pos:
        line_end: 879
        line_start: 879
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: unsigned long
    - item_type: typedef
      name: XXH64_hash_t
      pos:
        line_end: 882
        line_start: 882
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: unsigned long long
    - item_type: typedef
      name: XXH64_state_t
      pos:
        line_end: 926
        line_start: 926
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH64_state_s
    - item_type: typedef
      name: XXH3_state_t
      pos:
        line_end: 1242
        line_start: 1242
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH3_state_s
    - item_type: typedef
      name: xxh_u8
      pos:
        line_end: 2549
        line_start: 2549
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: uint8_t
    - item_type: typedef
      name: xxh_u8
      pos:
        line_end: 2551
        line_start: 2551
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: unsigned char
    - item_type: typedef
      name: xxh_u32
      pos:
        line_end: 2553
        line_start: 2553
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH32_hash_t
    - item_type: typedef
      name: ((__aligned__(1)))
      pos:
        line_end: 2641
        line_start: 2641
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: __attribute__
    - item_type: typedef
      name: xxh_u64
      pos:
        line_end: 3321
        line_start: 3321
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH64_hash_t
    - item_type: typedef
      name: ((__aligned__(1)))
      pos:
        line_end: 3354
        line_start: 3354
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: __attribute__
    - item_type: typedef
      name: xxh_aliasing_uint64x2_t
      pos:
        line_end: 4089
        line_start: 4089
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: uint64x2_t
    - item_type: typedef
      name: xxh_u64x2
      pos:
        line_end: 4238
        line_start: 4238
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: __vector unsigned long long
    - item_type: typedef
      name: xxh_u8x16
      pos:
        line_end: 4239
        line_start: 4239
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: __vector unsigned
    - item_type: typedef
      name: xxh_u32x4
      pos:
        line_end: 4240
        line_start: 4240
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: __vector unsigned
    - item_type: typedef
      name: xxh_aliasing_u64x2
      pos:
        line_end: 4245
        line_start: 4245
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: xxh_u64x2
    - item_type: typedef
      name: xxh_i64
      pos:
        line_end: 4926
        line_start: 4926
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: int64_t
    - item_type: typedef
      name: xxh_i64
      pos:
        line_end: 4929
        line_start: 4929
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: long long
    - item_type: typedef
      name: (*XXH3_f_accumulate)(xxh_u64* XXH_RESTRICT, const xxh_u8* XXH_RESTRICT,
        const xxh_u8* XXH_RESTRICT, size_t)
      pos:
        line_end: 5920
        line_start: 5920
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: void
    - item_type: typedef
      name: (*XXH3_f_scrambleAcc)(void* XXH_RESTRICT, const void*)
      pos:
        line_end: 5921
        line_start: 5921
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: void
    - item_type: typedef
      name: (*XXH3_f_initCustomSecret)(void* XXH_RESTRICT, xxh_u64)
      pos:
        line_end: 5922
        line_start: 5922
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: void
    - item_type: typedef
      name: "(*XXH3_hashLong64_f)(const void* XXH_RESTRICT, size_t,\n                                          XXH64_hash_t,
        const xxh_u8* XXH_RESTRICT, size_t)"
      pos:
        line_end: 6156
        line_start: 6155
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH64_hash_t
    - item_type: typedef
      name: "(*XXH3_hashLong128_f)(const void* XXH_RESTRICT, size_t,\n                                            XXH64_hash_t,
        const void* XXH_RESTRICT, size_t)"
      pos:
        line_end: 6967
        line_start: 6966
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
      type: XXH128_hash_t
    union:
    - fields:
      - name: u32
        type: xxh_u32
      item_type: union
      name: unalign
      pos:
        line_end: 2637
        line_start: 2637
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: u
        type: xxh_u32
      - name: c[4]
        type: xxh_u8
      item_type: union
      name: one = { 1 }
      pos:
        line_end: 2704
        line_start: 2704
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
    - fields:
      - name: u32
        type: xxh_u32
      - name: u64
        type: xxh_u64
      item_type: union
      name: unalign64
      pos:
        line_end: 3350
        line_start: 3350
        source_file: /src/rtpproxy/external/xxHash/xxhash.h
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XXH3_64bits
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_64bits_dispatch
    - item_type: preproc_def
      name: XXH3_64bits_withSeed
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_64bits_withSeed_dispatch
    - item_type: preproc_def
      name: XXH3_64bits_withSecret
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_64bits_withSecret_dispatch
    - item_type: preproc_def
      name: XXH3_64bits_update
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_64bits_update_dispatch
    - item_type: preproc_def
      name: XXH128
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_128bits_withSeed_dispatch
    - item_type: preproc_def
      name: XXH3_128bits
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_128bits_dispatch
    - item_type: preproc_def
      name: XXH3_128bits_withSeed
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_128bits_withSeed_dispatch
    - item_type: preproc_def
      name: XXH3_128bits_withSecret
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_128bits_withSecret_dispatch
    - item_type: preproc_def
      name: XXH3_128bits_update
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.h
      type_or_value: XXH3_128bits_update_dispatch
    structs: []
    typedefs: []
    union: []
- function_names:
  - XXH_HAS_INCLUDE
  - XXH_debugPrint
  - XXH_debugPrint
  - XXH_HAS_ATTRIBUTE
  - XXH_HAS_ATTRIBUTE
  - XXH_I_ATT
  - XXH_I_ATT
  - XXH_cpuid
  - XXH_xgetbv
  - XXH_featureTest
  - XXH_DEFINE_DISPATCH_FUNCS
  source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XXH_HAS_INCLUDE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __has_include
    - item_type: preproc_def
      name: XXH_DISPATCH_SCALAR
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: XXH_DISPATCH_SCALAR
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_DISPATCH_AVX2
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_DISPATCH_AVX512
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_TARGET_SSE2
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((__target__("sse2")))
    - item_type: preproc_def
      name: XXH_TARGET_AVX2
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((__target__("avx2")))
    - item_type: preproc_def
      name: XXH_TARGET_AVX512
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((__target__("avx512f")))
    - item_type: preproc_def
      name: XXH_TARGET_SSE2
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((__target__("sse2")))
    - item_type: preproc_def
      name: XXH_TARGET_AVX2
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((__target__("avx2")))
    - item_type: preproc_def
      name: XXH_TARGET_AVX512
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((__target__("avx512f")))
    - item_type: preproc_def
      name: XXH_CONSTRUCTOR
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: __attribute__((constructor))
    - item_type: preproc_def
      name: XXH_DISPATCH_MAYBE_NULL
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_DISPATCH_MAYBE_NULL
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_SSE2_CPUID_MASK
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: (1 << 26)
    - item_type: preproc_def
      name: XXH_OSXSAVE_CPUID_MASK
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: ((1 << 26) | (1 << 27))
    - item_type: preproc_def
      name: XXH_AVX2_CPUID_MASK
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: XXH_AVX2_XGETBV_MASK
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: ((1 << 2) | (1 << 1))
    - item_type: preproc_def
      name: XXH_AVX512F_CPUID_MASK
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: (1 << 16)
    - item_type: preproc_def
      name: XXH_AVX512F_XGETBV_MASK
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/rtpproxy/external/xxHash/xxh_x86dispatch.c
      type_or_value: ((7 << 5) | (1 << 2) | (1 << 1))
    structs: []
    typedefs: []
    union: []
- function_names:
  - abortSanityTest
  - fillTestBuffer
  - createSanityBuffer
  - releaseSanityBuffer
  - checkResult32
  - checkResult64
  - checkResult128
  - checkResultTestDataSample
  - testXXH32
  - testXXH64
  - SANITY_TEST_rand
  - SANITY_TEST_computeRandSeed
  - SANITY_TEST_XXH3_randomUpdate
  - testXXH3
  - testXXH3_withSecret
  - testXXH128
  - testXXH128_withSecret
  - testSecretGenerator
  - main
  source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSUM_NO_MAIN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PRIME32
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
      type_or_value: 2654435761U
    - item_type: preproc_def
      name: PRIME64
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
      type_or_value: 11400714785074694797ULL
    - item_type: preproc_def
      name: SANITY_BUFFER_SIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
      type_or_value: (4096 + 64 + 1)
    structs: []
    typedefs:
    - item_type: typedef
      name: (*SANITY_TEST_XXH3_update_t)(XXH3_state_t* state, const void* input, size_t
        length)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test.c
      type: XXH_errorcode
    union: []
- function_names:
  - main
  source_file: /src/rtpproxy/external/xxHash/tests/generate_unicode_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_advanced
  - main
  source_file: /src/rtpproxy/external/xxHash/tests/multiInclude.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tvgen_XXH32
  - tvgen_XXH64
  - tvgen_XXH3_64bits_withSeed
  - tvgen_XXH3_64bits_withSecret
  - tvgen_XXH3_128bits_withSeed
  - tvgen_XXH3_128bits_withSecret
  - tvgen_XXH3_generateSecret
  - fprintf_XSUM_testdata32_t
  - fprintf_XSUM_testdata64_t
  - fprintf_XSUM_testdata128_t
  - fprintf_XSUM_testdata_sample_t
  - fillTestBuffer
  - createSanityBuffer
  - releaseSanityBuffer
  - generate_sanity_test_vectors_xxh32
  - generate_sanity_test_vectors_xxh64
  - generate_sanity_test_vectors_xxh3
  - generate_sanity_test_vectors_xxh3_withSecret
  - generate_sanity_test_vectors_xxh128
  - generate_sanity_test_vectors_xxh128_withSecret
  - generate_sanity_test_vectors_xxh3_generateSecret
  - generate_sanity_test_vectors
  - main
  source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIME32
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
      type_or_value: 2654435761U
    - item_type: preproc_def
      name: PRIME64
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
      type_or_value: 11400714785074694797ULL
    - item_type: preproc_def
      name: SANITY_BUFFER_SIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
      type_or_value: (4096 + 64 + 1)
    - item_type: preproc_def
      name: SECRET_SAMPLE_NBBYTES
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SECRET_SIZE_MAX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
      type_or_value: '9867'
    structs:
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U32
      - name: Nresult
        type: XSUM_U32
      item_type: struct
      name: XSUM_testdata32_t
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U64
      - name: Nresult
        type: XSUM_U64
      item_type: struct
      name: XSUM_testdata64_t
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U64
      - name: Nresult
        type: XXH128_hash_t
      item_type: struct
      name: XSUM_testdata128_t
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    - fields:
      - name: seedLen
        type: XSUM_U32
      - name: secretLen
        type: XSUM_U32
      - name: byte[SECRET_SAMPLE_NBBYTES]
        type: XSUM_U8
      item_type: struct
      name: XSUM_testdata_sample_t
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors_generator.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOOL_VALUE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
      type_or_value: '32123456'
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
      type_or_value: BOOL_VALUE
    - item_type: preproc_def
      name: VECTOR_VALUE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
      type_or_value: '374464784'
    - item_type: preproc_def
      name: vector
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
      type_or_value: VECTOR_VALUE
    - item_type: preproc_def
      name: PIXEL_VALUE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
      type_or_value: '5846841'
    - item_type: preproc_def
      name: pixel
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/external/xxHash/tests/ppc_define.c
      type_or_value: PIXEL_VALUE
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SECRET_SAMPLE_NBBYTES
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SECRET_SIZE_MAX
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
      type_or_value: '9867'
    structs:
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U32
      - name: Nresult
        type: XSUM_U32
      item_type: struct
      name: XSUM_testdata32_t
      pos:
        line_end: 4
        line_start: 0
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U64
      - name: Nresult
        type: XSUM_U64
      item_type: struct
      name: XSUM_testdata64_t
      pos:
        line_end: 10
        line_start: 6
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U64
      - name: Nresult
        type: XXH128_hash_t
      item_type: struct
      name: XSUM_testdata128_t
      pos:
        line_end: 16
        line_start: 12
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
    - fields:
      - name: seedLen
        type: XSUM_U32
      - name: secretLen
        type: XSUM_U32
      - name: byte[SECRET_SAMPLE_NBBYTES]
        type: XSUM_U8
      item_type: struct
      name: XSUM_testdata_sample_t
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/rtpproxy/external/xxHash/tests/sanity_test_vectors.h
    typedefs: []
    union: []
- function_names:
  - worker
  - ZSTD_pthread_create
  - ZSTD_pthread_join
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POOL_MT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sort64
  - sort128
  - operator()(XXH128_hash_t a, XXH128_hash_t b) const
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: customLess
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/sort.cc
    typedefs: []
    union: []
- function_names:
  - aligned_alloc
  - EXIT
  - hexRaw
  - printHash
  - avalanche64
  - randomByte
  - init_sampleFactory
  - create_sampleFactory
  - free_sampleFactory
  - update_sampleFactory
  - Cnm
  - enoughCombos
  - init_sampleFactory
  - create_sampleFactory
  - free_sampleFactory
  - flipbit
  - updateBit
  - update_sampleFactory
  - create_Filter
  - free_Filter
  - Filter_insert
  - Filter_check
  - MIN
  - MAX
  - Filter_insert
  - Filter_reduce
  - Filter_check
  - update_indicator
  - displayDelay
  - power
  - estimateNbCollisions
  - highestBitSet
  - select_nbh
  - DISPLAY
  - isEqual
  - isHighEqual
  - addHashCandidate
  - getNbBits_fromHtype
  - getHtype_fromHbits
  - search_collisions
  - getProcessMemUsage
  - getProcessMemUsage
  - time_collisions
  - MT_searchCollisions
  - readU64FromChar
  - longCommandWArg
  - help
  - bad_argument
  - main
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLAB_SIZE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SPARSE_LEVEL_MAX
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
      type_or_value: '15'
    - item_type: preproc_def
      name: NB_BITS_MAX
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
      type_or_value: '64   '
    - item_type: preproc_def
      name: SAMPLE_SIZE_DEFAULT
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
      type_or_value: '256'
    - item_type: preproc_def
      name: HASHFN_ID_DEFAULT
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '* buffer'
        type: void
      - name: size
        type: size_t
      - name: mode
        type: sf_genMode
      - name: prngSeed
        type: size_t
      - name: hnb
        type: uint64_t
      item_type: struct
      name: sampleFactory
      pos:
        line_end: 146
        line_start: 140
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - fields:
      - name: '* buffer'
        type: void
      - name: size
        type: size_t
      - name: mode
        type: sf_genMode
      - name: bitIdx[SPARSE_LEVEL_MAX]
        type: size_t
      - name: level
        type: int
      - name: maxBitIdx
        type: size_t
      - name: nbSlabs
        type: size_t
      - name: current
        type: size_t
      - name: prngSeed
        type: uint64_t
      item_type: struct
      name: sampleFactory
      pos:
        line_end: 253
        line_start: 241
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - fields:
      - name: nbCollisions
        type: uint64_t
      item_type: struct
      name: searchCollisions_results
      pos:
        line_end: 591
        line_start: 589
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    - fields:
      - name: nbH
        type: uint64_t
      - name: mask
        type: uint64_t
      - name: maskSelector
        type: uint64_t
      - name: sampleSize
        type: size_t
      - name: prngSeed
        type: uint64_t
      - name: filterLog
        type: int
      - name: hashID
        type: int
      - name: display
        type: int
      - name: nbThreads
        type: int
      - name: '* resultPtr'
        type: searchCollisions_results
      item_type: struct
      name: searchCollisions_parameters
      pos:
        line_end: 604
        line_start: 593
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
    typedefs:
    - item_type: typedef
      name: Filter
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/main.c
      type: unsigned char
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: POOL_ctx
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.h
      type: POOL_ctx_s
    - item_type: typedef
      name: (*POOL_function)(void*)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.h
      type: void
    union: []
- function_names:
  - POOL_thread
  - POOL_create
  - POOL_join
  - POOL_free
  - POOL_sizeof
  - POOL_resize_internal
  - POOL_resize
  - isQueueFull
  - POOL_add_internal
  - POOL_add
  - POOL_tryAdd
  - POOL_create
  - POOL_free
  - POOL_resize
  - POOL_add
  - POOL_tryAdd
  - POOL_sizeof
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POOL_MT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
      type_or_value: '1'
    structs:
    - fields:
      - name: function
        type: POOL_function
      - name: '*opaque'
        type: void
      item_type: struct
      name: POOL_job_s
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    - fields:
      - name: '* threads'
        type: ZSTD_pthread_t
      - name: threadCapacity
        type: size_t
      - name: threadLimit
        type: size_t
      - name: '*queue'
        type: POOL_job
      - name: queueHead
        type: size_t
      - name: queueTail
        type: size_t
      - name: queueSize
        type: size_t
      - name: numThreadsBusy
        type: size_t
      - name: queueEmpty
        type: int
      - name: queueMutex
        type: ZSTD_pthread_mutex_t
      - name: queuePushCond
        type: ZSTD_pthread_cond_t
      - name: queuePopCond
        type: ZSTD_pthread_cond_t
      - name: shutdown
        type: int
      item_type: struct
      name: POOL_ctx_s
      pos:
        line_end: 70
        line_start: 45
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    - fields:
      - name: dummy
        type: int
      item_type: struct
      name: POOL_ctx_s
      pos:
        line_end: 307
        line_start: 305
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/pool.c
    typedefs: []
    union: []
- function_names:
  - ZSTD_pthread_mutex_init
  - ZSTD_pthread_mutex_destroy
  - ZSTD_pthread_mutex_lock
  - ZSTD_pthread_mutex_unlock
  - ZSTD_pthread_cond_init
  - ZSTD_pthread_cond_destroy
  - ZSTD_pthread_cond_wait
  - ZSTD_pthread_cond_signal
  - ZSTD_pthread_cond_broadcast
  - ZSTD_pthread_mutex_init
  - ZSTD_pthread_mutex_destroy
  - ZSTD_pthread_mutex_lock
  - ZSTD_pthread_mutex_unlock
  - ZSTD_pthread_cond_init
  - ZSTD_pthread_cond_destroy
  - ZSTD_pthread_cond_wait
  - ZSTD_pthread_cond_signal
  - ZSTD_pthread_cond_broadcast
  - ZSTD_pthread_create
  - ZSTD_pthread_join
  - ZSTD_pthread_mutex_init
  - ZSTD_pthread_mutex_destroy
  - ZSTD_pthread_mutex_lock
  - ZSTD_pthread_mutex_unlock
  - ZSTD_pthread_cond_init
  - ZSTD_pthread_cond_destroy
  - ZSTD_pthread_cond_wait
  - ZSTD_pthread_cond_signal
  - ZSTD_pthread_cond_broadcast
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POOL_MT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WINVER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: '0x0600'
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: '0x0600'
    - item_type: preproc_def
      name: ZSTD_pthread_mutex_t
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: CRITICAL_SECTION
    - item_type: preproc_def
      name: ZSTD_pthread_cond_t
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: CONDITION_VARIABLE
    - item_type: preproc_def
      name: ZSTD_pthread_mutex_t
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: pthread_mutex_t
    - item_type: preproc_def
      name: ZSTD_pthread_cond_t
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: pthread_cond_t
    - item_type: preproc_def
      name: ZSTD_pthread_t
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type_or_value: pthread_t
    structs:
    - fields:
      - name: handle
        type: HANDLE
      - name: '* (*start_routine)(void*)'
        type: void
      - name: '* arg'
        type: void
      item_type: struct
      name: ZSTD_pthread_t
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
    typedefs:
    - item_type: typedef
      name: ZSTD_pthread_mutex_t
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type: int
    - item_type: typedef
      name: ZSTD_pthread_cond_t
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/threading.h
      type: int
    union: []
- function_names:
  - uniHash32
  - uniHash64
  - uniHash128
  - XXH3_wrapper
  - XXH128_wrapper
  - XXH128l_wrapper
  - XXH128h_wrapper
  - XXH64_wrapper
  - XXH32_wrapper
  - badsum32_wrapper
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_FN_TOTAL
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
      type_or_value: '7'
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: fn
        type: hashfn
      - name: bits
        type: int
      item_type: struct
      name: hashDescription
      pos:
        line_end: 112
        line_start: 108
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
    typedefs:
    - item_type: typedef
      name: (*hashfn) (const void* data, size_t size)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
      type: UniHash
    union:
    - fields:
      - name: h64
        type: uint64_t
      - name: h128
        type: XXH128_hash_t
      item_type: union
      name: UniHash
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/tests/collisions/hashes.h
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/sort.hh
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/allcodecs/dummy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - badsum32
  source_file: /src/rtpproxy/external/xxHash/tests/collisions/allcodecs/dummy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BMK_TIMEDFNSTATE_SIZE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
      type_or_value: '64'
    structs:
    - fields:
      - name: nanoSecPerRun
        type: double
      - name: sumOfReturn
        type: size_t
      item_type: struct
      name: BMK_runTime_t
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
    - fields:
      - name: internal_never_ever_use_directly
        type: BMK_runTime_t
      - name: error_result_never_ever_use_directly
        type: size_t
      - name: error_tag_never_ever_use_directly
        type: int
      item_type: struct
      name: BMK_runOutcome_t
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
    - fields:
      - name: benchFn
        type: BMK_benchFn_t
      - name: '* benchPayload'
        type: void
      - name: initFn
        type: BMK_initFn_t
      - name: '* initPayload'
        type: void
      - name: errorFn
        type: BMK_errorFn_t
      - name: blockCount
        type: size_t
      - name: '*const * srcBuffers'
        type: void
      - name: '* srcSizes'
        type: size_t
      - name: '*const * dstBuffers'
        type: void
      - name: '* dstCapacities'
        type: size_t
      - name: '* blockResults'
        type: size_t
      item_type: struct
      name: BMK_benchParams_t
      pos:
        line_end: 85
        line_start: 66
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
    typedefs:
    - item_type: typedef
      name: (*BMK_benchFn_t)(const void* src, size_t srcSize, void* dst, size_t dstCapacity,
        void* customPayload)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
      type: size_t
    - item_type: typedef
      name: (*BMK_initFn_t)(void* initPayload)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
      type: size_t
    - item_type: typedef
      name: (*BMK_errorFn_t)(size_t)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
      type: unsigned
    - item_type: typedef
      name: BMK_timedFnState_t
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
      type: BMK_timedFnState_s
    union:
    - fields:
      - name: never_access_space[BMK_TIMEDFNSTATE_SIZE]
        type: char
      - name: alignment_enforcer
        type: long long
      item_type: union
      name: BMK_timedFnState_shell
      pos:
        line_end: 174
        line_start: 171
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.h
- function_names:
  - DISPLAY
  - DEBUGOUTPUT
  - RETURN_QUIET_ERROR
  - BMK_isSuccessful_runOutcome
  - BMK_extract_runTime
  - BMK_extract_errorResult
  - BMK_runOutcome_error
  - BMK_setValid_runTime
  - BMK_benchFunction
  - BMK_createTimedFnState
  - BMK_freeTimedFnState
  - BMK_initStatic_timedFnState
  - BMK_resetTimedFnState
  - BMK_isCompleted_TimedFn
  - MIN
  - BMK_benchTimedFn
  source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIMELOOP_MICROSEC
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type_or_value: 'SEC_TO_MICRO      '
    - item_type: preproc_def
      name: TIMELOOP_NANOSEC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type_or_value: '(1*1000000000ULL) '
    - item_type: preproc_def
      name: KB
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type_or_value: '*(1 <<10)'
    - item_type: preproc_def
      name: MB
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type_or_value: '*(1 <<20)'
    - item_type: preproc_def
      name: GB
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type_or_value: '*(1U<<30)'
    - item_type: preproc_def
      name: MINUSABLETIME
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type_or_value: '(TIMELOOP_NANOSEC / 2)  '
    structs:
    - fields:
      - name: timeSpent_ns
        type: PTime
      - name: timeBudget_ns
        type: PTime
      - name: runBudget_ns
        type: PTime
      - name: fastestRun
        type: BMK_runTime_t
      - name: nbLoops
        type: unsigned
      - name: coolTime
        type: UTIL_time_t
      item_type: struct
      name: BMK_timedFnState_s
      pos:
        line_end: 155
        line_start: 148
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    - fields:
      - name: c
        type: check_size
      - name: tfs
        type: BMK_timedFnState_t
      item_type: struct
      name: tfs_align
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
    typedefs:
    - item_type: typedef
      name: check_size[ 2 * (sizeof(BMK_timedFnState_shell) >= sizeof(struct BMK_timedFnState_s))
        - 1]
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchfn.c
      type: char
    union: []
- function_names:
  - bench_oneHash_largeInput
  - bench_largeInput
  - bench_throughput_oneHash_smallInputs
  - bench_throughput_smallInputs
  - bench_latency_oneHash_smallInputs
  - bench_latency_smallInputs
  - bench_randomInputLength_withOneHash
  - bench_throughput_randomInputLength
  - bench_latency_oneHash_randomInputLength
  - bench_latency_randomInputLength
  source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MB_UNIT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
      type_or_value: '1000000'
    - item_type: preproc_def
      name: BENCH_LARGE_ITER_MS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
      type_or_value: '490'
    - item_type: preproc_def
      name: BENCH_LARGE_TOTAL_MS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
      type_or_value: '1010'
    - item_type: preproc_def
      name: BENCH_SMALL_ITER_MS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
      type_or_value: '170'
    - item_type: preproc_def
      name: BENCH_SMALL_TOTAL_MS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.c
      type_or_value: '490'
    structs: []
    typedefs: []
    union: []
- function_names:
  - readIntFromChar
  - isCommand
  - longCommandWArg
  - display_hash_names
  - hashID
  - help
  - badusage
  - main
  source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMALL_SIZE_MIN_DEFAULT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SMALL_SIZE_MAX_DEFAULT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
      type_or_value: '127'
    - item_type: preproc_def
      name: LARGE_SIZELOG_MIN_DEFAULT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LARGE_SIZELOG_MAX_DEFAULT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/rtpproxy/external/xxHash/tests/bench/main.c
      type_or_value: '27'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UTIL_getTime
  - UTIL_getSpanTimeMicro
  - UTIL_getSpanTimeNano
  - UTIL_getTime
  - UTIL_getSpanTimeMicro
  - UTIL_getSpanTimeNano
  - UTIL_getTime
  - UTIL_getSpanTime
  - UTIL_getSpanTimeMicro
  - UTIL_getSpanTimeNano
  - UTIL_getTime
  - UTIL_getSpanTimeMicro
  - UTIL_getSpanTimeNano
  - UTIL_clockSpanMicro
  - UTIL_clockSpanNano
  - UTIL_waitForNextTick
  source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - initBuffer
  - bench_hash_internal
  - rand_1_N
  - identity
  - benchLatency
  - bench_hash
  source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MARGIN_FOR_LATENCY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: START_MASK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type_or_value: (MARGIN_FOR_LATENCY-1)
    - item_type: preproc_def
      name: FAKE_DSTSIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type_or_value: '32'
    - item_type: preproc_def
      name: NB_BLOCKS_MAX
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SIZE_TO_HASH_PER_ROUND
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type_or_value: '200000'
    - item_type: preproc_def
      name: NB_HASH_ROUNDS_MAX
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type_or_value: '1000'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*sizeFunction_f)(size_t targetSize)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/rtpproxy/external/xxHash/tests/bench/benchHash.c
      type: size_t
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTIL_TIME_INITIALIZER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type_or_value: '{ { 0, 0 } }'
    - item_type: preproc_def
      name: UTIL_TIME_INITIALIZER
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type_or_value: '0'
    - item_type: preproc_def
      name: UTIL_TIME_INITIALIZER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type_or_value: '{ 0, 0 }'
    - item_type: preproc_def
      name: UTIL_TIME_INITIALIZER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SEC_TO_MICRO
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type_or_value: ((PTime)1000000)
    structs: []
    typedefs:
    - item_type: typedef
      name: PTime
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type: uint64_t
    - item_type: typedef
      name: PTime
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type: unsigned long long
    - item_type: typedef
      name: UTIL_time_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type: LARGE_INTEGER
    - item_type: typedef
      name: UTIL_time_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type: PTime
    - item_type: typedef
      name: UTIL_time_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type: timespec
    - item_type: typedef
      name: UTIL_time_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/rtpproxy/external/xxHash/tests/bench/timefn.h
      type: clock_t
    union: []
- function_names:
  - XXH32_wrapper
  - XXH64_wrapper
  - xxh3_wrapper
  - XXH128_wrapper
  source_file: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NB_HASHES
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NB_HASHES
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/rtpproxy/external/xxHash/tests/bench/hashes.h
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: hash
        type: BMK_benchFn_t
      item_type: struct
      name: Bench_Entry
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/rtpproxy/external/xxHash/tests/bench/bhDisplay.h
    typedefs: []
    union: []
- function_names:
  - XSUM_fillTestBuffer
  - XSUM_sanityCheck
  - XSUM_checkResult32
  - XSUM_checkResult64
  - XSUM_checkResult128
  - XSUM_testXXH32
  - XSUM_testXXH64
  - XSUM_rand
  - XSUM_XXH3_randomUpdate
  - XSUM_testXXH3
  - XSUM_testXXH3_withSecret
  - XSUM_testXXH128
  - XSUM_testXXH128_withSecret
  - XSUM_testSecretGenerator
  - XSUM_sanityCheck
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIME32
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
      type_or_value: 2654435761U
    - item_type: preproc_def
      name: PRIME64
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
      type_or_value: 11400714785074694797ULL
    - item_type: preproc_def
      name: SECRET_SAMPLE_NBBYTES
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SECRET_SIZE_MAX
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
      type_or_value: '9867'
    - item_type: preproc_def
      name: SANITY_BUFFER_SIZE
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
      type_or_value: '2367'
    structs:
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U32
      - name: Nresult
        type: XSUM_U32
      item_type: struct
      name: XSUM_testdata32_t
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U64
      - name: Nresult
        type: XSUM_U64
      item_type: struct
      name: XSUM_testdata64_t
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - fields:
      - name: len
        type: XSUM_U32
      - name: seed
        type: XSUM_U64
      - name: Nresult
        type: XXH128_hash_t
      item_type: struct
      name: XSUM_testdata128_t
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    - fields:
      - name: seedLen
        type: XSUM_U32
      - name: secretLen
        type: XSUM_U32
      - name: byte[SECRET_SAMPLE_NBBYTES]
        type: XSUM_U8
      item_type: struct
      name: XSUM_testdata_sample_t
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
    typedefs:
    - item_type: typedef
      name: (*XSUM_XXH3_update_t)(XXH3_state_t* state, const void* input, size_t length)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.c
      type: XXH_errorcode
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_sanity_check.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NBLOOPS_DEFAULT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.h
      type_or_value: '3    '
    structs: []
    typedefs: []
    union: []
- function_names:
  - XSUM_clockSpan
  - XSUM_findMaxMem
  - localXXH32
  - localXXH32_stream
  - localXXH64
  - localXXH64_stream
  - localXXH3_64b
  - localXXH3_64b_seeded
  - localXXH3_64b_secret
  - localXXH3_128b
  - localXXH3_128b_seeded
  - localXXH3_128b_secret
  - localXXH3_stream
  - localXXH3_stream_seeded
  - localXXH128_stream
  - localXXH128_stream_seeded
  - XSUM_benchHash
  - XSUM_strcatDup
  - XSUM_benchMem
  - XSUM_selectBenchedSize
  - XSUM_benchFiles
  - XSUM_benchInternal
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIMELOOP_S
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIMELOOP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: '(TIMELOOP_S * CLOCKS_PER_SEC)   '
    - item_type: preproc_def
      name: TIMELOOP_MIN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: '(TIMELOOP / 2)               '
    - item_type: preproc_def
      name: XXH_1ST_SPEED_TARGET
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_MEM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: (2 GB - 64 MB)
    - item_type: preproc_def
      name: NB_HASHFUNC
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: (sizeof(g_hashesToBench) / sizeof(*g_hashesToBench))
    - item_type: preproc_def
      name: NB_TESTFUNC
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: (1 + 2 * NB_HASHFUNC)
    - item_type: preproc_def
      name: HASHNAME_MAX
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type_or_value: '29'
    structs:
    - fields:
      - name: '*  name'
        type: char
      - name: func
        type: hashFunction
      item_type: struct
      name: hashInfo
      pos:
        line_end: 196
        line_start: 193
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
    typedefs:
    - item_type: typedef
      name: (*hashFunction)(const void* buffer, size_t bufferSize, XSUM_U32 seed)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_bench.c
      type: XSUM_U32
    union: []
- function_names:
  - XSUM_log
  - XSUM_output
  - XSUM_logVerbose
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_output.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - XSUM_isLittleEndian
  - WELCOME_MESSAGE
  - FULL_WELCOME_MESSAGE
  - XSUM_filenameNeedsEscape
  - XSUM_lineNeedsUnescape
  - XSUM_printFilename
  - XSUM_filenameUnescape
  - XSUM_algoBitmask_ComputeAlgoBitmaskFromAlgoSelected
  - XSUM_algoBitmask_Accepts
  - XSUM_display_LittleEndian
  - XSUM_display_BigEndian
  - XSUM_hashStream
  - XSUM_TABLE_ELT_SIZE
  - XSUM_printLine_BSD_internal
  - XSUM_printLine_BSD_LE
  - XSUM_printLine_BSD
  - XSUM_displayPrefix
  - XSUM_printLine_GNU_internal
  - XSUM_printLine_GNU
  - XSUM_printLine_GNU_LE
  - XSUM_hashFile
  - XSUM_hashFiles
  - XSUM_getLine
  - charToHex
  - XSUM_canonicalFromString
  - XSUM_parseLine1
  - XSUM_parseLine
  - XSUM_parseFile1
  - XSUM_checkFile
  - XSUM_checkFiles
  - XSUM_parseGenLine
  - XSUM_parseGenFile1
  - XSUM_generateFile
  - XSUM_generateFiles
  - XSUM_usage
  - XSUM_usage_advanced
  - XSUM_badusage
  - errorOut
  - XSUM_lastNameFromPath
  - XSUM_readU32FromCharChecked
  - XSUM_readU32FromChar
  - XSUM_main
  source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENDIAN_NAME
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type_or_value: '(XSUM_isLittleEndian() ? g_lename : g_bename)'
    - item_type: preproc_def
      name: DEFAULT_LINE_LENGTH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type_or_value: (sizeof(XXH64_hash_t) * 2 + 2 + 4096 + 1)
    - item_type: preproc_def
      name: MAX_LINE_LENGTH
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type_or_value: (32 KB)
    - item_type: preproc_def
      name: XXHSUM32_DEFAULT_SEED
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type_or_value: '0                   '
    - item_type: preproc_def
      name: XXHSUM64_DEFAULT_SEED
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type_or_value: '0                   '
    structs:
    - fields:
      - name: canonical
        type: Canonical
      - name: '*  filename'
        type: char
      - name: algo
        type: AlgoSelected
      item_type: struct
      name: ParsedLine
      pos:
        line_end: 572
        line_start: 568
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - fields:
      - name: nProperlyFormattedLines
        type: unsigned long
      - name: nImproperlyFormattedLines
        type: unsigned long
      - name: nMismatchedChecksums
        type: unsigned long
      - name: nMatchedChecksums
        type: unsigned long
      - name: nOpenOrReadFailures
        type: unsigned long
      - name: nMixedFormatLines
        type: unsigned long
      - name: nMissing
        type: unsigned long
      - name: quit
        type: int
      item_type: struct
      name: ParseFileReport
      pos:
        line_end: 583
        line_start: 574
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - fields:
      - name: '*  inFileName'
        type: char
      - name: '*        inFile'
        type: FILE
      - name: lineMax
        type: int
      - name: '*        lineBuf'
        type: char
      - name: blockSize
        type: size_t
      - name: '*        blockBuf'
        type: char
      - name: strictMode
        type: int
      - name: statusOnly
        type: int
      - name: ignoreMissing
        type: int
      - name: warn
        type: int
      - name: quiet
        type: int
      - name: algoBitmask
        type: XSUM_U32
      - name: report
        type: ParseFileReport
      item_type: struct
      name: ParseFileArg
      pos:
        line_end: 599
        line_start: 585
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    typedefs:
    - item_type: typedef
      name: (*XSUM_displayHash_f)(const void*, size_t)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type: void
    - item_type: typedef
      name: (*XSUM_displayLine_f)(const char*, const void*, AlgoSelected)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
      type: void
    union:
    - fields:
      - name: u
        type: XSUM_U32
      - name: c[4]
        type: XSUM_U8
      item_type: union
      name: one = { 1 }
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - fields:
      - name: hash32
        type: XXH32_hash_t
      - name: hash64
        type: XXH64_hash_t
      - name: hash128
        type: XXH128_hash_t
      item_type: union
      name: Multihash
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
    - fields:
      - name: xxh32
        type: XXH32_canonical_t
      - name: xxh64
        type: XXH64_canonical_t
      - name: xxh128
        type: XXH128_canonical_t
      item_type: union
      name: Canonical
      pos:
        line_end: 566
        line_start: 562
        source_file: /src/rtpproxy/external/xxHash/cli/xxhsum.c
- function_names:
  - XSUM_IS_CONSOLE
  - XSUM_IS_CONSOLE
  - XSUM_IS_CONSOLE
  - XSUM_IS_CONSOLE
  - XSUM_IS_CONSOLE
  - XSUM_SET_BINARY_MODE
  - XSUM_SET_BINARY_MODE
  - XSUM_SET_BINARY_MODE
  - XSUM_isConsole
  - XSUM_setBinaryMode
  - XSUM_fopen
  - XSUM_vfprintf
  - XSUM_stat
  - main
  - XSUM_widenString
  - XSUM_narrowString
  - XSUM_fopen
  - XSUM_stat
  - XSUM_va_copy
  - XSUM_va_copy
  - XSUM_vasprintf
  - XSUM_vfprintf
  - XSUM_convertArgv
  - XSUM_freeArgv
  - XSUM_wmain
  - wmain
  - main
  - XSUM_isDirectory
  - XSUM_getFileSize
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: newmode
        type: int
      item_type: struct
      name: _startupinfo
      pos:
        line_end: 464
        line_start: 462
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
    typedefs:
    - item_type: typedef
      name: XSUM_stat_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
      type: __stat64
    - item_type: typedef
      name: mode_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
      type: int
    - item_type: typedef
      name: XSUM_stat_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_os_specific.c
      type: stat
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_output.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - XSUM_autox86
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - XSUM_ATTRIBUTE
  - S_ISREG
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _FILE_OFFSET_BITS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '64'
    - item_type: preproc_def
      name: XSUM_PLATFORM_POSIX_VERSION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: 200112L
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '200112L  '
    - item_type: preproc_def
      name: XSUM_PLATFORM_POSIX_VERSION
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: _POSIX_VERSION
    - item_type: preproc_def
      name: XSUM_PLATFORM_POSIX_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XSUM_PLATFORM_POSIX_VERSION
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: XSUM_WIN32_USE_WCHAR
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XSUM_WIN32_USE_WCHAR
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XSUM_WIN32_USE_WCHAR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XSUM_WIN32_USE_WMAIN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XSUM_WIN32_USE_WMAIN
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XSUM_WIN32_USE_WMAIN
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XSUM_API
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: static
    - item_type: preproc_def
      name: XSUM_NO_TESTS
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: KB
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '*( 1<<10)'
    - item_type: preproc_def
      name: MB
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '*( 1<<20)'
    - item_type: preproc_def
      name: GB
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type_or_value: '*(1U<<30)'
    structs: []
    typedefs:
    - item_type: typedef
      name: XSUM_U8
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: uint8_t
    - item_type: typedef
      name: XSUM_U32
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: uint32_t
    - item_type: typedef
      name: XSUM_U64
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: uint64_t
    - item_type: typedef
      name: XSUM_U8
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: unsigned char
    - item_type: typedef
      name: XSUM_U32
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: unsigned int
    - item_type: typedef
      name: XSUM_U32
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: unsigned long
    - item_type: typedef
      name: XSUM_U64
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_config.h
      type: unsigned long long
    union: []
- function_names:
  - XSUM_QUOTE
  - XSUM_EXPAND_AND_QUOTE
  source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XSUM_LIB_VERSION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XXH_VERSION_MAJOR.XXH_VERSION_MINOR.XXH_VERSION_RELEASE
    - item_type: preproc_def
      name: XSUM_PROGRAM_VERSION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_EXPAND_AND_QUOTE(XSUM_LIB_VERSION)
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"Apple Clang %s"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"Clang %s"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: __clang_version__
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: __VERSION__
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"GCC " __VERSION__'
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"MSVC %02i.%02i.%05i.%02i"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: _MSC_FULL_VER / 10000000 % 100, _MSC_FULL_VER / 100000 % 100,
        _MSC_FULL_VER % 100000, _MSC_BUILD
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"MSVC %02i.%02i"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: _MSC_VER / 100, _MSC_VER % 100
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"tcc %i.%i.%i"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: __TINYC__ / 10000 % 100, __TINYC__ / 100 % 100, __TINYC__ % 100
    - item_type: preproc_def
      name: XSUM_CC_VERSION_FMT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"%s"'
    - item_type: preproc_def
      name: XSUM_CC_VERSION
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"unknown compiler"'
    - item_type: preproc_def
      name: XSUM_ARCH_X64
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XSUM_ARCH_X86
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"x86_64"'
    - item_type: preproc_def
      name: XSUM_ARCH_X86
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"i386"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_autox86()
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_ARCH_X86 " + AVX512"
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_ARCH_X86 " + AVX2"
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_ARCH_X86 " + AVX"
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_ARCH_X86 " + SSE2"
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_ARCH_X86
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"aarch64 + SVE"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"aarch64 + NEON"'
    - item_type: preproc_def
      name: XSUM_ARCH_ARM_VER
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_EXPAND_AND_QUOTE(__ARM_ARCH)
    - item_type: preproc_def
      name: XSUM_ARCH_ARM_VER
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: XSUM_EXPAND_AND_QUOTE(_M_ARM)
    - item_type: preproc_def
      name: XSUM_ARCH_THUMB
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '" Thumb-2"'
    - item_type: preproc_def
      name: XSUM_ARCH_THUMB
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '" Thumb-1"'
    - item_type: preproc_def
      name: XSUM_ARCH_THUMB
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '""'
    - item_type: preproc_def
      name: XSUM_ARCH_UNALIGNED
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '" + unaligned"'
    - item_type: preproc_def
      name: XSUM_ARCH_UNALIGNED
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '""'
    - item_type: preproc_def
      name: XSUM_ARCH_NEON
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '" + NEON"'
    - item_type: preproc_def
      name: XSUM_ARCH_NEON
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '""'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"ARMv" XSUM_ARCH_ARM_VER XSUM_ARCH_THUMB XSUM_ARCH_NEON XSUM_ARCH_UNALIGNED'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"ppc64 + POWER9 vector"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"ppc64 + POWER8 vector"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"ppc64"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"ppc"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"AVR"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"mips64"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"mips"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"s390x"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"s390"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"wasm/asmjs + simd128"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"wasm/asmjs"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"loongarch"'
    - item_type: preproc_def
      name: XSUM_ARCH
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/rtpproxy/external/xxHash/cli/xsum_arch.h
      type_or_value: '"unknown"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/rtpproxy/external/xxHash/fuzz/fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SPMC_ASSERT
  - SPMC_ASSERT
  - SPMC_ASSERT
  - SPMC_ASSERT
  - SPMC_ASSERT
  - SPMC_ASSERT
  - round_up_size
  - spmc_aligned_alloc
  - spmc_aligned_free
  - create_queue
  - destroy_queue
  - LOAD_R_IDX
  - LOAD_W_IDX
  - LOAD_W_CACHE
  - UPDATE_R_IDX
  - UPDATE_W_IDX
  - UPDATE_W_CACHE
  - REFRESH_R_CACHE
  - REFRESH_W_CACHE
  - SLOT_IDX
  - SLOT_AT
  - SLOT_PTR
  - try_push
  - try_push_many
  - try_push_many_pre
  - try_push_many_kv
  - try_pop
  - try_pop_many
  source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_LINE_SIZE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
      type_or_value: 64 // Common cache line size
    - item_type: preproc_def
      name: RESERVED_BITS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
      type_or_value: '4'
    structs:
    - fields:
      - name: capacity
        type: size_t
      - name: mask
        type: uint64_t
      - name: writeIdx
        type: uint64_t
      - name: readIdxCache
        type: uint64_t
      - name: readIdx
        type: uint64_t
      - name: writeIdxCache
        type: uint64_t
      - name: '* slots[0]'
        type: void
      item_type: struct
      name: SPMCQueue
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.c
    typedefs: []
    union: []
- function_names:
  - unlikely
  - likely
  - worker_thread
  - SEC
  - NSEC
  - timespec2dtime
  - main
  source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHE_LINE_SIZE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
      type_or_value: 64 // Common cache line size
    - item_type: preproc_def
      name: NUM_SECONDS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: QUEUE_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: WRKR_BATCH_SIZE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
      type_or_value: '8'
    - item_type: preproc_def
      name: EOW_SENTINEL
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
      type_or_value: ((uintptr_t)-1)
    structs:
    - fields:
      - name: '* queue'
        type: SPMCQueue
      - name: count
        type: uint64_t
      - name: chksum
        type: uint64_t
      item_type: struct
      name: WorkerArgs
      pos:
        line_end: 28
        line_start: 24
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_bench_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPMC_API
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: SPMC_API
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: SPMC_API
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
      type_or_value: __attribute__((visibility("default")))
    structs: []
    typedefs:
    - item_type: typedef
      name: SPMCQueue
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
      type: SPMCQueue
    - item_type: typedef
      name: (*SPMCPrePushFunc)(void *cb_arg, void *value)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
      type: void
    - item_type: typedef
      name: '*(*SPMCGetPushFunc)(void *cb_arg, void *key)'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/rtpproxy/external/RTQueue/src/SPMCQueue.h
      type: void
    union: []
- function_names:
  - expect_pop_many
  - record_pre_push
  - get_even_value
  - test_try_push_many_basic
  - test_try_push_many_partial_refresh_and_wrap
  - test_try_push_many_partial_when_full
  - test_try_push_many_pre_wrap
  - test_try_push_many_pre_partial_when_full
  - test_try_push_many_kv_filters_and_consumes_all
  - test_try_push_many_kv_stops_at_capacity
  - main
  source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: seen[16]
        type: uintptr_t
      - name: count
        type: size_t
      item_type: struct
      name: pre_push_ctx
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    - fields:
      - name: seen[16]
        type: uintptr_t
      - name: count
        type: size_t
      item_type: struct
      name: kv_push_ctx
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/rtpproxy/external/RTQueue/src/spmc_queue_test.c
    typedefs: []
    union: []
- function_names:
  - CONCATENATE_DETAIL
  - CONCATENATE
  - STRINGIFY
  - TOSTRING
  - PyLossyQueue_init
  - PyLossyQueue_dealloc
  - PyLossyQueue_put
  - PyLossyQueue_put_many
  - PyLossyQueue_get
  - PY_INIT_FUNC
  source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MODULE_BASENAME
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
      type_or_value: LossyQueue
    - item_type: preproc_def
      name: MODULE_NAME
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
      type_or_value: MODULE_BASENAME
    - item_type: preproc_def
      name: MODULE_NAME
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
      type_or_value: CONCATENATE(MODULE_BASENAME, _debug)
    - item_type: preproc_def
      name: MODULE_NAME_STR
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
      type_or_value: TOSTRING(MODULE_NAME)
    - item_type: preproc_def
      name: PY_INIT_FUNC
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
      type_or_value: CONCATENATE(PyInit_, MODULE_NAME)
    structs:
    - fields:
      - name: '* queue'
        type: PyObject_HEAD
      - name: queue_size
        type: size_t
      - name: '** push_buffer'
        type: PyObject
      - name: '** pop_buffer'
        type: PyObject
      item_type: struct
      name: PyLossyQueue
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/rtpproxy/external/RTQueue/python/LossyQueue_mod.c
    typedefs: []
    union: []
- function_names:
  - LE16_2_HOST
  - LE16_2_HOST
  - usage
  - main
  source_file: /src/rtpproxy/makeann/makeann.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: G729_ENABLED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/rtpproxy/makeann/makeann.c
      type_or_value: '1'
    - item_type: preproc_def
      name: G729_ENABLED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/rtpproxy/makeann/makeann.c
      type_or_value: '0'
    - item_type: preproc_def
      name: GSM_ENABLED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/rtpproxy/makeann/makeann.c
      type_or_value: '1'
    - item_type: preproc_def
      name: GSM_ENABLED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/rtpproxy/makeann/makeann.c
      type_or_value: '0'
    - item_type: preproc_def
      name: G722_ENABLED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/rtpproxy/makeann/makeann.c
      type_or_value: '1'
    - item_type: preproc_def
      name: G722_ENABLED
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/rtpproxy/makeann/makeann.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*f'
        type: FILE
      - name: pt
        type: rtp_type_t
      - name: enabled
        type: int
      - name: path[PATH_MAX + 1]
        type: char
      item_type: struct
      name: efile
      pos:
        line_end: 101
        line_start: 96
        source_file: /src/rtpproxy/makeann/makeann.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/rtpproxy/libxxHash/rtpp_xxHash.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
